写顺序表插入和删除的代码
时间: 2023-12-27 17:49:30 浏览: 35
好的,我可以为您提供顺序表插入和删除的代码示例,以下是样例代码:
顺序表定义:
```
#define MaxSize 50 // 定义顺序表的最大长度
typedef struct {
int data[MaxSize]; // 存储顺序表元素的数组
int length; // 顺序表当前长度
} SeqList;
```
顺序表插入数据:
```
// 在顺序表的第i个位置插入元素e,其中1<=i<=List.length+1
bool SeqList_Insert(SeqList &List, int i, int e)
{
if (i < 1 || i > List.length+1 || List.length >= MaxSize) // 超出范围或者顺序表已满,插入失败
return false;
for(int j = List.length; j >= i; j--) // 将第i~List.length位置的元素后移一个位置
List.data[j] = List.data[j-1];
List.data[i-1] = e; // 在第i个位置插入元素e
List.length++; // 表长增1
return true; // 插入成功
}
```
顺序表删除数据:
```
// 删除顺序表中的第i个元素
bool SeqList_Delete(SeqList &List, int i)
{
if (i < 1 || i > List.length) // 超出范围,删除失败
return false;
for(int j = i; j < List.length; j++) // 将第i+1~List.length位置的元素前移一个位置
List.data[j-1] = List.data[j];
List.length--; // 表长减1
return true; // 删除成功
}
```
希望能够对您有所帮助,如果您有任何问题或者其他需求,请随时告诉我。