创建顺序表,并将下面数据插入到顺序表中 [3,5,7,11,15]用C语言
时间: 2024-09-30 16:09:32 浏览: 30
数据结构 顺序表的插入与删除算法的C语言实现
4星 · 用户满意度95%
创建顺序表(数组或动态链表)并插入给定数据,我们通常会使用C语言中的数组结构。这里是一个简单的示例,我们将使用一维数组来表示顺序表:
```c
#include <stdio.h>
// 定义顺序表的结构体
typedef struct {
int data; // 数据元素
int size; // 序列长度
int capacity; // 预设容量
} SequenceList;
// 动态分配空间并初始化顺序表
SequenceList* create_sequence_list(int capacity) {
SequenceList* list = (SequenceList*)malloc(sizeof(SequenceList));
list->data = malloc(capacity * sizeof(int));
list->size = 0;
list->capacity = capacity;
return list;
}
// 插入元素到顺序表
void insert_to_sequence_list(SequenceList* list, int value) {
if (list->size == list->capacity) { // 判断是否已满
list->capacity *= 2; // 扩容
list->data = realloc(list->data, list->capacity * sizeof(int)); // 重新分配内存
}
list->data[list->size++] = value; // 插入元素并更新大小
}
// 主函数演示如何使用
int main() {
const int data[] = {3, 5, 7, 11, 15};
int num_elements = sizeof(data) / sizeof(data[0]);
SequenceList* list = create_sequence_list(num_elements); // 初始化列表,预设容量为数组长度
for (int i = 0; i < num_elements; ++i) {
insert_to_sequence_list(list, data[i]);
}
// 打印顺序表内容
for (int i = 0; i < list->size; ++i) {
printf("%d ", list->data[i]);
}
printf("\n");
free(list->data);
free(list);
return 0;
}
```
在这个示例中,我们首先创建了一个`SequenceList`结构,然后通过循环依次插入给定的数据。注意最后要释放分配的内存以避免内存泄漏。
阅读全文