【实验二】动态顺序表的实现

实验二:动态顺序表的实现

要求

  1. 熟练掌握使用菜单编写程序
  2. 熟练掌握动态顺序表的存储结构
  3. 复习typedef、动态存储分配等C语法
  4. 掌握动态顺序表的基本操作
  5. 理解各个算法的时间复杂度

动态顺序表功能

  1. 初始化一个动态顺序表(空表)
  2. 输入n个元素(创建有n个元素的线性表)
  3. 输出顺序表
  4. 插入给定值e到指定位序i
  5. 删除指定位序i的元素,并保存到e
  6. 查找等于(或大于,或小于)给定值的第一个元素的位序
  7. 结束

预编译命令与数据结构


```c
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -2				//请注意,以上5行预编译命令在所有实验都加
#define LIST_INIT_SIZE 10  		//表存储空间的初始分配量
#define LISTINCREMENT 2    		//线性表存储空间的分配增量
typedef int Status;					//返回值为符号常量 OK ERROR等时函数类型
typedef int ElemType;
typedef struct 
{
	ElemType *elem;  	// 存储空间基址
	int length;      		// 当前长度
	int listsize;    		// 当前分配的存储容量(以sizeof(ElemType)为单位)
} 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(); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值