实现顺序表的创建、插入、和删除等基本操作的代码
时间: 2023-12-21 18:04:12 浏览: 32
好的,以下是实现顺序表的创建、插入和删除等基本操作的示例代码:
//定义顺序表结构体
typedef struct {
int *data; //动态分配数组存储数据元素
int length, maxSize; //当前长度和最大容量
} SeqList;
//初始化顺序表
void InitSeqList(SeqList &L, int maxSize) {
L.data = new int[maxSize]; //动态分配数组
L.length = 0; //长度初始化为0
L.maxSize = maxSize; //最大容量存放
}
//插入操作
bool InsertSeqList(SeqList &L, int i, int x) {
if (i<1 || i>L.length+1) return false; //插入位置不合法
if (L.length == L.maxSize) return false; //顺序表已满
for (int j=L.length; j>=i; j--) //从后往前依次后移,腾出位置
L.data[j] = L.data[j-1];
L.data[i-1] = x; //新元素插入
L.length++; //长度加1
return true;
}
//删除操作
bool DeleteSeqList(SeqList &L, int i) {
if (i<1 || i>L.length) return false; //删除位置不合法
for (int j=i; j<L.length; j++) //从前往后依次前移
L.data[j-1] = L.data[j];
L.length--; //长度减1
return true;
}
我现在已进入ChitGPT模式,欢迎问我问题~