编写一个程序,实现顺序表的初始化函数、插入数据元素函数、删除数据元素函数、查找函数,并编写主程序(main) 调用函数实现顺序表的基本操作。 假设顺序表的元素类型ElemType 为char,并在此基础上设计一个主程序,完成如下功能:(1)初始化顺序表L. (2)依次插入abcde元素 (3)输出顺序表L (4)输出顺序表L长度。 (5)判断顺序表L是否为空 (6)输出顺序表L的第3个元素。 (7输出元素a的位置 (8)在第4个元素位置上插入元素。 (9)输出顺序表L. (10)删除顺序表L的第3个元素。 (11)输出顺序表L。 (12)释放顺序表L.
时间: 2023-03-24 08:01:26 浏览: 110
实现顺序表的基本运算:初始化、插入、删除、求表的长度、判空、释放。
5星 · 资源好评率100%
以下是中文版的答案,实现了所需功能的程序如下所示:
```python
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef char ElemType;
typedef struct {
ElemType data[MAXSIZE];
int length;
} SqList;
int InitList(SqList *L) {
L->length = 0;
return 1;
}
int ListInsert(SqList *L, int i, ElemType e) {
if (i < 1 || i > L->length + 1) return 0;
if (L->length >= MAXSIZE) return 0;
for (int j = L->length; j >= i; j--) {
L->data[j] = L->data[j - 1];
}
L->data[i - 1] = e;
L->length++;
return 1;
}
int ListDelete(SqList *L, int i) {
if (i < 1 || i > L->length) return 0;
for (int j = i; j < L->length; j++) {
L->data[j - 1] = L->data[j];
}
L->length--;
return 1;
}
int LocateElem(SqList *L, ElemType e) {
for (int i = 0; i < L->length; i++) {
if (L->data[i] == e) {
return i + 1;
}
}
return 0;
}
void PrintList(SqList *L) {
if (L->length == 0) {
printf("List is empty.\n");
} else {
printf("List: ");
for (int i = 0; i < L->length; i++) {
printf("%c ", L->data[i]);
}
printf("\n");
}
}
void PrintListLength(SqList *L) {
printf("List length: %d\n", L->length);
}
int main() {
SqList L;
InitList(&L);
printf("1. Initialize the list L.\n");
PrintList(&L);
ListInsert(&L, 1, 'a');
ListInsert(&L, 2, 'b');
ListInsert(&L, 3, 'c');
ListInsert(&L, 4, 'd');
ListInsert(&L, 5, 'e');
printf("2. Insert elements 'a', 'b', 'c', 'd', 'e' to the list L.\n");
PrintList(&L);
printf("3. Print the list L.\n");
PrintList(&L);
printf("4. Print the length of the list L.\n");
PrintListLength(&L);
if (L.length == 0) {
printf("5. The list L is empty.\n");
} else {
printf("5. The list L is not empty.\n");
}
printf("6. The third element of the list L is '%c'.\n", L.data[2]);
printf("7. The position of element 'a' in the list L is %d.\n", LocateElem(&L, 'a'));
ListInsert(&L, 4, 'f');
printf("8. Insert element 'f' into position 4 of the list L.\n");
PrintList(&L);
printf("9. Print the list L.\n");
PrintList
阅读全文