用C语言建立一个顺序表 将 a~i 存储到顺序表中,在第三个位置插入'x',第七个位置插入'y',并删除第五个位置的元素
时间: 2024-10-13 22:05:58 浏览: 27
在C语言中,我们可以使用数组来构建一个简单的顺序表。首先,我们需要初始化数组存储a~i的值,然后按需插入和删除元素。这里是一个简单的示例:
```c
#include <stdio.h>
#define MAX_SIZE 10 // 定义顺序表的最大容量
// 结构体表示顺序表的元素
typedef struct {
int data; // 数据域
} Node;
// 动态数组作为顺序表的实现
Node list[MAX_SIZE]; // 顺序表
int count = 0; // 记录当前元素的数量
// 插入元素
void insert(int position, char value) {
if (position >= 0 && position <= MAX_SIZE - 1) {
if (count == MAX_SIZE) {
printf("List is full, can't insert.\n");
return;
}
list[count].data = position > count ? 'x' : value; // 如果指定位置大于已有的元素数量,则插入'x'
count++;
} else {
printf("Invalid position.\n");
}
}
// 删除元素
void delete(int position) {
if (position >= 0 && position < count) {
for (int i = position; i < count - 1; i++) {
list[i] = list[i + 1]; // 将后续元素前移填补空位
}
count--;
} else {
printf("Invalid position to delete.\n");
}
}
// 显示顺序表内容
void display() {
for (int i = 0; i < count; i++) {
printf("%d: %c\n", i, list[i].data);
}
}
int main() {
// 存储 a~i 到顺序表
for (int i = 0; i <= 'i'-'a'+1; i++) {
list[i] = (Node){(char)('a' + i)};
}
// 插入元素
insert(2, 'x');
insert(6, 'y');
// 删除元素
delete(4);
// 显示结果
display();
return 0;
}
```
当你运行这个程序,你会看到顺序表的变化,包括'a'~'j', 'x'在第三位,'y'在第七位,以及第五个位置的元素被删除后的状态。
阅读全文