用C++创建一个手动输入线性表元素的线性表
时间: 2024-04-30 21:17:50 浏览: 7
好的,以下是用 C 语言创建手动输入线性表元素的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
// 定义线性表结构体
typedef struct {
int data[MAX_SIZE]; // 存储线性表元素的数组
int length; // 线性表长度
} List;
// 初始化线性表
void initList(List *list) {
list->length = 0; // 将线性表长度设为0
}
// 向线性表中插入元素
int insert(List *list, int pos, int elem) {
if (pos < 1 || pos > list->length + 1 || list->length >= MAX_SIZE) {
return 0; // 插入位置不合法或线性表已满,插入失败
}
for (int i = list->length; i >= pos; i--) {
list->data[i] = list->data[i - 1]; // 将插入位置及其后面的元素后移一位
}
list->data[pos - 1] = elem; // 将元素插入到指定位置
list->length++; // 线性表长度加1
return 1; // 插入成功
}
// 打印线性表中的元素
void printList(List list) {
for (int i = 0; i < list.length; i++) {
printf("%d ", list.data[i]);
}
printf("\n");
}
int main() {
List list;
initList(&list); // 初始化线性表
int n, elem;
printf("请输入线性表中元素个数:");
scanf("%d", &n);
printf("请依次输入%d个元素,以空格分隔:", n);
for (int i = 1; i <= n; i++) {
scanf("%d", &elem);
insert(&list, i, elem); // 向线性表中插入元素
}
printf("创建的线性表为:");
printList(list); // 打印线性表中的元素
return 0;
}
```
以上代码中,我们使用了结构体来定义线性表,其中 `data` 数组用于存储线性表的元素,`length` 表示线性表的长度。通过 `initList` 函数初始化线性表,使用 `insert` 函数向线性表中插入元素,使用 `printList` 函数打印线性表中的元素。在 `main` 函数中,我们先输入线性表的元素个数 `n`,然后依次输入 `n` 个元素,最后打印出创建的线性表。