编写功能菜单程序,实现初始化线性表遍历插入
时间: 2023-05-14 14:07:17 浏览: 133
好的,这是一个编程类的问题,我可以回答。以下是一个简单的功能菜单程序,可以实现初始化线性表、遍历和插入操作:
```
#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;
}
void traverseList(List *list) {
printf("List: ");
for (int i = 0; i < list->length; i++) {
printf("%d ", list->data[i]);
}
printf("\n");
}
void insertList(List *list, int value) {
if (list->length >= MAX_SIZE) {
printf("List is full.\n");
return;
}
list->data[list->length] = value;
list->length++;
}
int main() {
List list;
initList(&list);
int choice, value;
do {
printf("Menu:\n");
printf("1. Traverse list\n");
printf("2. Insert value\n");
printf("3. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
traverseList(&list);
break;
case 2:
printf("Enter value to insert: ");
scanf("%d", &value);
insertList(&list, value);
break;
case 3:
printf("Exiting...\n");
break;
default:
printf("Invalid choice.\n");
break;
}
} while (choice != 3);
return 0;
}
```
这个程序使用了一个结构体 List 来表示线性表,包含一个数组 data 和一个长度 length。initList 函数用于初始化线性表,traverseList 函数用于遍历线性表并输出所有元素,insertList 函数用于插入一个元素到线性表中。在主函数中,使用一个 do-while 循环来显示菜单并根据用户的选择执行相应的操作,直到用户选择退出。
阅读全文