<3>删除顺序表中第i个元素结点。
<4>在一个递增有序的顺序表L中插入一个值为x的元素,并保持其递增有序特性。
顺序表元素为 (10,20,30,40,50,60,70,80,90,100), x分别为25,85,110和8
<5>将顺序表L中的奇数项和偶数项结点分解开(元素值为奇数、偶数),分别放入新的顺序表中,然后原表和新表元素同时输出到屏幕上,以便对照求解结果。 第一组数据:顺序表元素为 (1,2,3,4,5,6,7,8,9,10,20,30,40,50,60)
<6>求两个递增有序顺序表L1和L2中的公共元素,放入新的顺序表L3中。 第一个顺序表元素为 (1,3,6,10,15,16,17,18,19,20) 第二个顺序表元素为 (1,2,3,4,5,6,7,8,9,10,18,20,30)
<7>删除递增有序顺序表中的重复元素,并统计移动元素次数,要求时间性能最好。
第二组数据:顺序表元素为 (1,1,2,2,2,3,4,5,5,5,6,6,7,7,8,8,9)
扩展实验:
<1>.递增有序顺序表L1、L2,对2表进行合并,并使得合并后成为一个集合,集合的元素放回L1表中保存
<2>(递增有序)顺序表表示集合A、B,实现运算。
<3>(递增有序)顺序表表示集合A、B,判定A是否B的子集
<4>.
6. 总结和心得
在程序编写的过程中,由于对程序设计的不全面,导致出现了许多问题,诸如输出的缺少,程序的停止位置,输入内容的错误等等。这给了我不少经验教训,也让我认识到自己的不足,下面总结一下编写过程中的一些问题。
1. 在扩展实验一中,插入时输入为元素位置而非元素序号,导致出现错误输出,通过将ia变为ia+1,使其插入在正确位置。
2. 在扩展实验二中,在进行A=A?B,A=A?B,A=A-B操作时直接传地址,导致A内容变化,之后改为传值解决。
3. 在重复使用函数时,其内部定义的顺序表在输出第二次的结果时会将上一次的结果也同时输出,造成输出的内容有误。通过在函数调用前将存储结构初始化重置,解决这一问题。
4. 初始时设计不合理,导致出现后期输出时重复输出多次结果,之后通过设计统一的调用函数解决。
5. 在输入数据的时候如果输入非递增有序,程序会继续运行并依旧将错误
数据输出,最后通过设计一个judge函数进行判断是否递增有序解决。 [7. 附录]
(源代码清单。纸质报告不做要求。电子报告,可直接附源文件,删除编译生成的所有文件)