编写功能菜单程序,实现初始化、线性表遍历、插入、删除4个基本操作,求线性表长度。
时间: 2023-05-19 13:00:34 浏览: 139
好的,这是一个典型的线性表操作,以下是一个简单的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef struct {
int data[MAXSIZE];
int length;
} SqList;
void InitList(SqList *L) {
L->length = 0;
}
void TraverseList(SqList L) {
int i;
for (i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
}
int ListLength(SqList L) {
return L.length;
}
int ListInsert(SqList *L, int pos, int elem) {
int i;
if (pos < 1 || pos > L->length + 1) {
return 0;
}
if (L->length >= MAXSIZE) {
return 0;
}
for (i = L->length; i >= pos; i--) {
L->data[i] = L->data[i - 1];
}
L->data[pos - 1] = elem;
L->length++;
return 1;
}
int ListDelete(SqList *L, int pos) {
int i;
if (pos < 1 || pos > L->length) {
return 0;
}
for (i = pos; i < L->length; i++) {
L->data[i - 1] = L->data[i];
}
L->length--;
return 1;
}
int main() {
SqList L;
InitList(&L);
ListInsert(&L, 1, 1);
ListInsert(&L, 2, 2);
ListInsert(&L, 3, 3);
TraverseList(L);
ListDelete(&L, 2);
TraverseList(L);
printf("List length: %d\n", ListLength(L));
return 0;
}
```
这个程序实现了初始化、线性表遍历、插入、删除四个基本操作,并且可以求出线性表的长度。
阅读全文