数据结构顺序表C实现(14个用户接口)

本文共1281个字,预计阅读时间需要4分钟。

将顺序表(ADT SqList)的数据对象,数据关系及基本操作(函数)用C语言实现,并测试。

手机用户点击代码移动可查看未显示内容

1.SqList.h头文件内容

函数实现

1.顺序表的初始化

注释:为了检查顺序表是否初始化,本人调用了检查顺序表是否为空的函数
(bool ListIsEmpty(SqList L))函数实现在下面会讲到。

2.顺序表的输出

3.顺序表的长度

4.插入一个值到顺序表中

5.删除顺序表中的一个值

6.顺序表是否为空的判断函数

注释:空为TRUE 非空为FALUSE

7.顺序表数据的位置查询

8.顺序表某个位置的数据查询

9.查询某个值的前驱和后继

前驱:

后继:

10.两个非递减顺序表的合并

11.顺序表的排序

12.顺序表的清除和销毁

清除:

销毁:

注释:清除后使用LISTISEMPTY函数判断是否清空。

MAIN函数:

小结:

1. 实验中使用工程文件使得代码文件更有可移植性并程序化,更加规范。
2. 试验中代码文件由VC++6.0转移到VS或Code::Blocks时应打开工程文件的.dsp文件使得代码自动导入。

3. 顺序表中Merge函数应注意要对新的归并顺序表进行实时的Malloc动态分配,且调用该函数时应注意两个顺序表必须是非递减的。
4. 在顺序表的输入时,for语句最好实时对L.length进行修改,同样地在Insert和Delete函数中也应采取同样地措施。
5. 在本人实现的顺序表中,要注意内部存储是从0开始的,但是在面向用户时是从1开始。
6. 对&引用标识符在函数调用时要注意。
7. 由于函数只能return一个值,可以使用地址来返回其它值(增加一个变量)如前驱函数后继函数等。
8. 由于ElemType在程序中被定义为int,因此可以使用scanf(%d)
类型不同时要注意。推荐使用C++ cin函数。

 

原创非商业转载请注明出处,商业转载请联系。

读者评分
[评分人数: 0 平均分: 0]

评论