实验二:动态顺序表的实现
要求
- 熟练掌握使用菜单编写程序
- 熟练掌握动态顺序表的存储结构
- 复习typedef、动态存储分配等C语法
- 掌握动态顺序表的基本操作
- 理解各个算法的时间复杂度
动态顺序表功能
- 初始化一个动态顺序表(空表)
- 输入n个元素(创建有n个元素的线性表)
- 输出顺序表
- 插入给定值e到指定位序i
- 删除指定位序i的元素,并保存到e
- 查找等于(或大于,或小于)给定值的第一个元素的位序
- 结束
预编译命令与数据结构
```c
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define LIST_INIT_SIZE 10
#define LISTINCREMENT 2
typedef int Status;
typedef int ElemType;
typedef struct
{
ElemType *elem;
int length;
int listsize;
} SqList;
•函数首部
Status InitList_Sq(SqList &L);
Status CreatList_Sq(SqList &L,int n);
void PrintList_Sq(SqList L);
Status ListInsert_Sq(SqList &L, int i, ElemType e);
Status ListDelete_Sq(SqList &L, int i, ElemType &e);
int LocateElem_Sq(SqList L, ElemType e, Status (*compare)(ElemType, ElemType));
Status equal(ElemType x, ElemType y);
Status greater(ElemType x, ElemType y);
Status less(ElemType x, ElemType y);
int menu_select();