1、有序顺序表的设计(osqlist.h):设计头文件osqlist.h,其内容如下:
①类型设计
②基本操作的设计(包括初始化、插入、删除、索引、遍历等)
2、设计文件c.h,提供比较和遍历时的操作函数及有序表的有序规则(递增还是递减)
3、测试:设计测试文件application.cpp文件,验证所设计的有序顺序表的正确性。其内容如下:
设计一个主函数。
1、osqlist.h文件
#include "c.h"
#include <stdlib.h>
#define LISTSIZE 20
#define INCREMENT 5
//设计有序顺序表
//1:顺序表数据类型定义
struct sqlist {
elemtype *elem;
int length;
int listsize;
};
//2:设计函数(对顺序表进行操作)
//2.1 初始化顺序表
void initList(sqlist &L) {
L.elem = new elemtype[LISTSIZE];
L.length = 0;
L.listsize = LISTSIZE;
}
//2.2 插入:插入数据元素e,使有序表仍旧有序,其中comp指针所指函数决定递增还是递减有序
void listInsert(sqlist &L, elemtype e,bool (*comp)(elemtype,elemtype)) {
//补充完整
if (L.length >= L.listsize) {
elemtype *newbase;
newbase = (elemtype *) realloc(L.elem,
sizeof(elemtype) * (L.listsize + INCREMENT));
if (newbase != NULL) {
L.elem = newbase;
L.listsize += INCR