一、题目
有序顺序表的设计
实验要求:
- 有序顺序表的操作,包括初始化,求数据元素个数,插入,删除和取数据元素。放在头文件中(建议尝试用动态数组实现有序顺序表);注意有序顺序表的操作与课本上的操作有所不同,需要重写一些操作,如ListInsert(L,x),不需要参数i);
- 设计合并函数ListMerge(L1,L2,L3),其功能是把有序表L1和L2中的数据合并到L3中,要求L3中的数据依然保持有序。(要求时间复杂度O(n), n= n1+n2,n1、n2分别为两个顺序表的长度);
- 设计一个测试主函数实际验证所设计有序表的各项操作以及合并函数的正确性。
测试数据:
字符型或者整形:可选z,h,o,u, k,u,n,x,i,a,o(同学们自己名字的拼音)
二、算法思想
- 定义顺序表结构体:包括数组首元素的地址、顺序表当前长度。
- 顺序表初始化函数:在内存中开辟一段连续的内存空间用于后续储存顺序表的数据元素,将循序表当前长度赋值为0。
- 输入顺序表元素值的函数:连续输入n个数据元素并将其储存在数组中,并将顺序表表长赋值为n。
- 打印顺序表中的各数据元素的函数:利用循环打印数组元素。