用C语言写代码,写出五个顺序表并初始化以及赋值给顺序表
时间: 2024-09-16 08:02:17 浏览: 8
在C语言中,我们通常使用数组或链表来表示顺序表。这里我会给出使用一维数组(固定大小的顺序表)和动态数组(动态分配大小的顺序表)的例子。由于文本限制,我只会展示部分代码,实际应用时还需要包含错误检查和内存管理的部分。
1. **一维数组(固定大小)**:
```c
#define SIZE 5
// 定义顺序表
int sequence[SIZE] = {0};
// 初始化并赋值
sequence[0] = 1; // 第一个元素
sequence[1] = 2;
sequence[2] = 3;
sequence[3] = 4;
sequence[4] = 5; // 这里假设已知所有元素
```
2. **动态数组(动态分配)** (使用`malloc`):
```c
#include <stdlib.h>
typedef struct {
int* data;
size_t capacity;
size_t size;
} Sequence;
void init_sequence(Sequence* seq) {
seq->data = malloc(SIZE * sizeof(int));
if (!seq->data) {
perror("Memory allocation failed");
exit(EXIT_FAILURE);
}
seq->capacity = SIZE;
seq->size = 0;
}
// 赋值
void set_sequence(Sequence* seq, size_t index, int value) {
if (index >= seq->size) {
if (seq->size == seq->capacity) {
seq->capacity *= 2;
seq->data = realloc(seq->data, seq->capacity * sizeof(int));
if (!seq->data) {
perror("Realloc failed");
exit(EXIT_FAILURE);
}
}
}
seq->data[index] = value;
seq->size++;
}
```
上述代码首先定义了一个动态数组结构,然后初始化和设置值。注意,每次添加元素之前都要检查容量是否足够。