在顺序表第i 个元素前数据结构 插入一个值为x 的元素,并输出结果,C语言实现
时间: 2024-05-06 22:17:03 浏览: 79
假设顺序表已经定义为:
```c
#define MAXSIZE 100
typedef struct {
int data[MAXSIZE];
int length;
} SqList;
```
则在第i个元素前插入一个值为x的元素的代码如下:
```c
bool insert_elem(SqList *L, int i, int x) {
if (L->length == MAXSIZE) { // 判断是否满员
return false;
}
if (i < 1 || i > L->length + 1) { // 判断插入位置是否合法
return false;
}
for (int j = L->length; j >= i; --j) { // 将第i个元素及其后面的元素都往后移一位
L->data[j] = L->data[j - 1];
}
L->data[i - 1] = x; // 将x插入到第i个位置
++L->length; // 表长+1
return true;
}
```
其中,`L`是顺序表的指针,`i`表示要插入元素的位置,`x`表示要插入的元素的值。函数返回值为`true`表示插入成功,返回值为`false`表示插入失败。
阅读全文