用c语言编写生成线性表的函数,线性表的元素从键盘输入,使用顺序结构存储
时间: 2024-09-13 18:10:42 浏览: 57
C语言线性表顺序存储结构实例详解
5星 · 资源好评率100%
在C语言中,线性表可以通过数组来实现顺序结构存储。以下是一个简单的例子,展示如何使用C语言编写一个函数来创建线性表,并从键盘接收用户输入的元素:
```c
#include <stdio.h>
#define MAX_SIZE 100 // 定义线性表的最大长度
// 线性表的结构体定义
typedef struct {
int data[MAX_SIZE]; // 存储元素的数组
int length; // 线性表当前长度
} SeqList;
// 初始化线性表
void InitList(SeqList *list) {
list->length = 0; // 初始化时长度为0
}
// 向线性表中添加元素
int AddToList(SeqList *list, int element) {
if (list->length >= MAX_SIZE) {
// 线性表已满,无法添加
return -1;
}
list->data[list->length] = element; // 添加元素
list->length++; // 长度加1
return 0; // 添加成功
}
// 主函数
int main() {
SeqList myList;
int element;
InitList(&myList); // 初始化线性表
printf("请输入线性表的元素个数(小于等于%d):", MAX_SIZE);
scanf("%d", &element);
if (element > MAX_SIZE) {
printf("输入的元素个数超过最大限制。\n");
return 1;
}
printf("请输入%d个元素,用空格分隔:", element);
for (int i = 0; i < element; i++) {
scanf("%d", &element);
if (AddToList(&myList, element) != 0) {
printf("线性表已满,无法添加更多元素。\n");
break;
}
}
// 打印线性表中的元素
printf("线性表中的元素为:");
for (int i = 0; i < myList.length; i++) {
printf("%d ", myList.data[i]);
}
printf("\n");
return 0;
}
```
这个程序首先定义了一个线性表的数据结构`SeqList`,包含一个数组`data`来存储元素和一个整数`length`来记录线性表的当前长度。`InitList`函数用于初始化线性表,`AddToList`函数用于向线性表中添加元素。
在`main`函数中,程序首先初始化一个空的线性表,然后提示用户输入元素的个数和具体的元素值,并将这些元素添加到线性表中。最后,程序打印出线性表中的所有元素。
阅读全文