C语言1.创建一个顺序表 表最大长度20 表中存储data为int类型 表中原始元素1,2,4三个元素 2.表操作 创建一个方法,往顺序表中添加元素 3,5,8 三个元素 创建一个方法,删除元素1,8
时间: 2024-12-20 18:17:06 浏览: 6
在C语言中,我们可以使用数组结构来实现一个简单的顺序表,这里是一个简化的示例:
首先,我们定义一个顺序表结构体,并设置其最大长度为20,用于存储整型数据`int`。
```c
#include <stdio.h>
#define MAX_LENGTH 20
typedef struct {
int data[MAX_LENGTH];
int count;
} SequenceList;
// 初始化顺序表,添加初始元素1,2,4
void init_list(SequenceList* list) {
list->count = 0; // 初始化计数器
list->data[0] = 1;
list->data[1] = 2;
list->data[2] = 4;
}
// 添加元素到顺序表
void add_element(SequenceList* list, int element) {
if (list->count < MAX_LENGTH) {
list->data[list->count++] = element;
printf("Element %d added to the list.\n", element);
} else {
printf("List is full, cannot add more elements.\n");
}
}
// 删除指定位置的元素
void delete_element(SequenceList* list, int position) {
if (position >= 0 && position < list->count) {
memmove(&list->data[position], &list->data[position+1], sizeof(int)*(list->count - position - 1));
list->count--;
printf("Element at position %d deleted from the list.\n", position);
} else {
printf("Invalid position. Element not deleted.\n");
}
}
int main() {
SequenceList my_list;
init_list(&my_list);
// 向列表中添加元素3, 5, 8
add_element(&my_list, 3);
add_element(&my_list, 5);
add_element(&my_list, 8);
// 删除元素1和8
delete_element(&my_list, 0); // 删除第一个元素1
delete_element(&my_list, 7); // 删除最后一个元素8,注意索引从0开始
return 0;
}
```
在这个例子中,`init_list()`函数初始化了顺序表并添加了初始元素。`add_element()`函数检查是否有空间添加新元素,如果有则将元素添加并更新计数器。`delete_element()`函数移动元素以填补被删除元素的位置,同时减少计数器。
阅读全文