顺序表的建立。从键盘输入n个整数,并将这些整数存入顺序表中,修改表长后建立表L。c语言数据结构,全部代码
时间: 2024-09-15 17:05:10 浏览: 62
在C语言中,我们可以使用数组(对于有固定大小的需求)或链表(对动态大小需求)来建立顺序表。这里给出一个基本的例子,使用数组实现顺序表的建立过程:
```c
#include <stdio.h>
#define MAX_SIZE 100 // 定义数组的最大容量
// 定义元素类型和顺序表结构体
typedef int Element;
typedef struct {
Element data[MAX_SIZE]; // 数组用于存储元素
int count; // 记录当前元素数量
} SequenceList;
// 功能:从键盘输入整数并存入顺序表
void input_elements(SequenceList* L) {
int num, i = 0;
printf("Enter %d integers: ", MAX_SIZE);
while (i < MAX_SIZE && scanf("%d", &num)) {
L->data[i++] = num; // 将输入的整数存入数组
if (scanf("%*[^\n]") == EOF) break; // 读取换行符结束输入
getchar(); // 清理上一次输入留下的回车符
}
L->count = i; // 更新元素数量
}
int main() {
SequenceList L; // 初始化顺序表
input_elements(&L); // 从键盘输入元素
printf("Numbers entered: ");
for (int i = 0; i < L.count; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
return 0;
}
```
在这个例子中,我们首先定义了最大数组容量`MAX_SIZE`,然后定义了一个`SequenceList`结构体,包含了数组和元素计数。`input_elements`函数负责接收用户输入并将它们保存到数组中,最后在主函数中打印出输入的数字。
请注意,这仅适用于固定的大小(如MAX_SIZE个元素)。如果需要动态增加或减少元素,你需要改用链表或其他动态数据结构。
阅读全文