用C语言编写一个代码,完成以整形数据为数据元素的顺序表的定义、初始化、输入、输出
时间: 2024-10-11 17:11:59 浏览: 29
在C语言中,我们可以创建一个结构体表示整型顺序表,并提供相应的函数来操作这个列表。这里是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义顺序表结构体
typedef struct {
int* data; // 整型数组存储数据
int size; // 当前元素的数量
int capacity; // 数组的最大容量
} SeqList;
// 初始化顺序表
void init(SeqList* list) {
list->data = (int*)malloc(sizeof(int));
list->size = 0;
list->capacity = 1;
}
// 扩容顺序表
void resize(SeqList* list) {
if (list->size == list->capacity) {
list->capacity *= 2;
list->data = (int*)realloc(list->data, sizeof(int) * list->capacity);
}
}
// 输入数据到顺序表
void input(SeqList* list, int num) {
if (list->size == list->capacity) {
resize(list);
}
list->data[list->size++] = num;
}
// 输出顺序表内容
void output(SeqList* list) {
for (int i = 0; i < list->size; i++) {
printf("%d ", list->data[i]);
}
printf("\n");
}
// 示例使用
int main() {
SeqList list;
init(&list);
int input_data[] = {1, 2, 3, 4, 5};
for (int i = 0; i < sizeof(input_data) / sizeof(input_data[0]); i++) {
input(&list, input_data[i]);
}
output(&list); // 输出 [1, 2, 3, 4, 5]
free(list.data);
return 0;
}
```
阅读全文