c语言完成顺序表的输入输出,修改删除元素
时间: 2024-04-17 11:26:44 浏览: 17
以下是使用 C 语言完成顺序表的输入、输出、修改和删除元素的代码示例:
```c
#include <stdio.h>
#define MAX_SIZE 100
void printList(int list[], int length) {
printf("顺序表的内容为: ");
for (int i = 0; i < length; i++) {
printf("%d ", list[i]);
}
printf("\n");
}
void insertElement(int list[], int *length, int index, int element) {
if (*length >= MAX_SIZE) {
printf("顺序表已满,无法插入元素\n");
return;
}
if (index < 0 || index > *length) {
printf("插入位置不合法\n");
return;
}
for (int i = *length - 1; i >= index; i--) {
list[i+1] = list[i];
}
list[index] = element;
(*length)++;
}
void deleteElement(int list[], int *length, int index) {
if (index < 0 || index >= *length) {
printf("删除位置不合法\n");
return;
}
for (int i = index; i < *length - 1; i++) {
list[i] = list[i+1];
}
(*length)--;
}
int main() {
int sequence_list[MAX_SIZE];
int length = 0, choice, index, element;
while (1) {
printf("\n");
printf("1. 输入顺序表内容\n");
printf("2. 打印顺序表内容\n");
printf("3. 插入元素\n");
printf("4. 删除元素\n");
printf("5. 退出程序\n");
printf("请选择操作: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("请输入顺序表的长度: ");
scanf("%d", &length);
printf("请输入顺序表的元素:\n");
for (int i = 0; i < length; i++) {
printf("请输入第%d个元素: ", i+1);
scanf("%d", &sequence_list[i]);
}
break;
case 2:
printList(sequence_list, length);
break;
case 3:
printf("请输入要插入的位置: ");
scanf("%d", &index);
printf("请输入要插入的元素: ");
scanf("%d", &element);
insertElement(sequence_list, &length, index, element);
break;
case 4:
printf("请输入要删除的位置: ");
scanf("%d", &index);
deleteElement(sequence_list, &length, index);
break;
case 5:
return 0;
default:
printf("请选择正确的操作\n");
}
}
return 0;
}
```
上述代码首先定义了一个长度为 `MAX_SIZE` 的整型数组 `sequence_list` 来表示顺序表,并实现了几个辅助函数。`printList` 函数用于打印顺序表的内容,`insertElement` 函数用于在指定位置插入元素,`deleteElement` 函数用于删除指定位置的元素。
在 `main` 函数中,通过一个循环提供了几个选项供用户选择操作。用户可以选择输入顺序表的内容、打印顺序表的内容、插入元素或删除元素。用户输入的选择会被分别处理,并调用相应的函数来完成对顺序表的操作。
请注意,上述代码只是一个示例,可能还需要根据实际需求进行适当的修改和完善。