顺序表插入元素用c语言表达
时间: 2023-03-20 14:03:20 浏览: 127
在C语言中,可以使用数组来实现顺序表,插入元素时,可以通过移动数组元素来腾出插入位置,然后将新元素插入到指定位置。
下面是一个简单的顺序表插入元素的示例代码:
```c
#define MAXSIZE 100 // 定义顺序表最大长度
typedef struct {
int data[MAXSIZE]; // 存储数据元素的数组
int length; // 当前顺序表长度
} SqList;
int insertElem(SqList *list, int pos, int elem) {
// 判断插入位置是否合法
if (pos < 1 || pos > list->length + 1) {
return 0; // 返回插入失败
}
// 如果顺序表已满,无法插入新元素
if (list->length >= MAXSIZE) {
return 0; // 返回插入失败
}
// 将插入位置之后的元素向后移动一位
for (int i = list->length; i >= pos; i--) {
list->data[i] = list->data[i-1];
}
// 插入新元素
list->data[pos-1] = elem;
list->length++;
return 1; // 返回插入成功
}
```
在上述代码中,使用了一个 `SqList` 结构体来表示顺序表,其中 `data` 数组存储数据元素,`length` 表示当前顺序表的长度。`insertElem` 函数用于在指定位置插入新元素,如果插入位置非法或者顺序表已满,插入操作将失败,函数返回 0;否则插入成功,函数返回 1。
阅读全文