这篇实验报告主要涉及了数据结构中的一个重要概念——顺序表,并且通过C语言实现了两个顺序表的二路归并操作。顺序表是一种线性结构,它在内存中是连续存储的,可以通过数组的形式来表示。在本实验中,学生陈兴使用了C语言编写程序,完成了以下任务:
1. **顺序表的初始化**:`init` 函数用于初始化顺序表,将表的大小设置为0,表示表为空。
2. **元素的添加**:`append` 函数用于向顺序表中添加元素,如果表已满,则输出提示信息“顺序表已满!”并停止添加。否则,将元素添加到表的末尾,同时更新表的大小。
3. **顺序表的合并**:`add` 函数实现了两个顺序表的二路归并。比较两个表的第一个元素,将较小的元素添加到新表中,然后移动对应的指针。这个过程持续到任意一个表的元素被完全添加。之后,将另一个表剩余的元素依次添加到新表中。
4. **顺序表的显示**:`display` 函数用于打印顺序表中的所有元素,如果表为空,则提示“顺序表是空的!”。
在主函数`main`中,首先初始化三个顺序表`a`、`b`和`c`,然后分别通过用户输入填充`a`和`b`,并展示它们的内容。接着,调用`add`函数将`a`和`b`合并到`c`中,最后展示合并后的顺序表`c`。
实验报告的运行结果部分未给出具体细节,但可以推断,如果一切正常,会看到用户输入的两个顺序表的元素以及它们归并后的顺序表。
参考书目中提到的《数据结构(C语言版)第二版》可能提供了关于数据结构和算法的理论基础,包括顺序表的定义和操作,以及归并排序等相关知识。
总结起来,这份实验报告重点讨论了如何在实际编程中运用数据结构,特别是顺序表的创建、操作和合并。通过C语言的实现,加深了对数据结构概念的理解,并锻炼了实际编程能力。