在已创建好的顺序表中插入-个元素:从键盘读入需插入的元素值和插入位置,调用插入函数完成插入操作;然后将顺序表元素依次输出到屏幕上。
时间: 2023-05-17 14:05:39 浏览: 202
好的,这是一个关于顺序表的问题,我可以回答。以下是示例代码:
```c
#include <stdio.h>
#define MAXSIZE 100
typedef struct {
int data[MAXSIZE];
int length;
} SqList;
int Insert(SqList *L, int pos, int elem) {
if (pos < 1 || pos > L->length + 1 || L->length == MAXSIZE) {
return 0; // 插入位置不合法或表已满
}
for (int i = L->length; i >= pos; i--) {
L->data[i] = L->data[i - 1]; // 从后往前移动元素
}
L->data[pos - 1] = elem; // 插入新元素
L->length++; // 表长加1
return 1;
}
int main() {
SqList L;
int elem, pos;
printf("请输入顺序表元素个数:");
scanf("%d", &L.length);
printf("请输入顺序表元素:");
for (int i = 0; i < L.length; i++) {
scanf("%d", &L.data[i]);
}
printf("请输入要插入的元素和插入位置:");
scanf("%d%d", &elem, &pos);
if (Insert(&L, pos, elem)) {
printf("插入成功,顺序表元素为:");
for (int i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
} else {
printf("插入失败,顺序表已满或插入位置不合法!\n");
}
return 0;
}
```
这段代码实现了从键盘读入顺序表元素,插入新元素并输出顺序表的功能。
阅读全文