顺序表的构建(C++)---- 代码 + 注释

顺序表的类定义:

class Sequence
{
public:
    Sequence(int a[] , int n);//创建顺序表
	~Sequence();//析构函数
	int get_length();//返回长度
	int seek_item(int i);//查找第i - 1位的元素
	int seek_price(int num);//查找num是否存在,存在返回其位置,不存在返回-1
	void insert_Seq(int i , int num);//插入元素
	int remove_Seq(int i);//删除第i - 1位元素并返回这个元素
private:
	int data[N];
	int length;	
};

 存的数据是整型,利用data数组存数据。

长度为length,且数组最大限制为N = 1000。

#include <iostream>
using namespace std;
const int N = 1000;
int a[N];
class Sequence
{
public:
    Sequence(int a[] , int n);//创建顺序表
	~Sequence();//析构函数
	int get_length();//返回长度
	int seek_item(int i);//查找第i - 1位的元素
	int seek_price(int num);//查找num是否存在,存在返回其位置,不存在返回-1
	void insert_Seq(int i , int num);//插入元素
	int remove_Seq(int i);//删除第i - 1位元素并返回这个元素
private:
	int data[N];
	int length;	
};
Sequence :: Sequence(int a[] , int n)//创建顺序表
{
	if(n > N)  throw "参数非法";
	for(int i = 0;i < n;i++)
	{
		data[i] = a[i];
	}
	length = n;
}
int Sequence :: get_length()//返回长度
{
	return length;
}
int Sequence :: seek_item(int i)//查找第i - 1位的元素
{
	if(i < 1 || i > length)  throw "查找位置非法";
	else return data[i - 1];
}
int Sequence :: seek_price(int num)//查找num是否存在,存在返回其位置,不存在返回-1
{
	for(int i = 0;i < length;i++)
	{
		if(data[i] == num)
		    return i + 1;   
	}	
	return -1;
}
void Sequence :: insert_Seq(int i , int num)//插入元素
{
	if(length + 1 > N)  throw "上溢";//长度过大
	if(i > 1 || i > length + 1)  throw "位置异常";
	for(int j = length;j >= i;j--)
	{
		data[j] = data[j - 1];
	}
	data[i - 1] = num;
	length++;//总长度增加
}
int Sequence :: remove_Seq(int i)//删除第i - 1位元素并返回这个元素
{
	if(length == 0)  throw "下溢";//空
	if(i < 1 || i > length)  throw "删除位置异常";//不在范围内
	int num = data[i - 1];
	for(int j = i;j < length;j++)
	{
		data[j - 1] = data[j];
	}
	length--;//总长度减少
	return num;
}

相关推荐

  1. 顺序构建C++)---- 代码 + 注释

    2024-03-14 04:14:05       44 阅读
  2. 相关代码-顺序

    2024-03-14 04:14:05       58 阅读
  3. 顺序 严蔚敏 数据结构代码c语言

    2024-03-14 04:14:05       51 阅读
  4. C语言顺序详解

    2024-03-14 04:14:05       42 阅读
  5. 顺序就地倒置(C语言)

    2024-03-14 04:14:05       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 04:14:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 04:14:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 04:14:05       82 阅读
  4. Python语言-面向对象

    2024-03-14 04:14:05       91 阅读

热门阅读

  1. dao5的Sia Khazamipour确认出席Hack.Summit() 2024

    2024-03-14 04:14:05       43 阅读
  2. SkiROS2:技能型机器人控制平台的探索之旅

    2024-03-14 04:14:05       47 阅读
  3. inversions

    2024-03-14 04:14:05       42 阅读
  4. Lua 如何在Lua中调用C/C++函数

    2024-03-14 04:14:05       38 阅读
  5. Unity3D 动态生成场景管理节点详解

    2024-03-14 04:14:05       44 阅读
  6. Hive函数 EXPLODE 和 POSEXPLODE 使用示例

    2024-03-14 04:14:05       41 阅读
  7. 记录一次大厂面试题

    2024-03-14 04:14:05       43 阅读
  8. 嵌入式学习日记 27

    2024-03-14 04:14:05       42 阅读
  9. C后端开发,记录一个关于条件变量的死锁bug

    2024-03-14 04:14:05       41 阅读
  10. 动态导入图片

    2024-03-14 04:14:05       43 阅读