试验一实验题目:用有序单链表表示集合,实现集合的交、并和差运算试验要求:
对集合中的元素,用带头结点单链表进行存储。
实现交、并、差运算时,不另外申请存储空间。
充分利用单链表的有序性,算法有较好的性能。
设计驱动程序(主程序)检验算法正确性并输出结果。
试验目的:
掌握线性表的链式存储结构;熟悉链表的各种操作,包括创建链表,插入,删除算法等。
认真分析实际项目的内容,并实现其中的算法,掌握线性表的实际应用。
提示:
首先,建立两个带头结点的有序单链表表示集合A和B,需要注意:修改头插法建立有序单链表,实参数组降序排列。
其次,根据集合的运算规则,利用单链表的有序性,设计交、并、差运算。
1)、中包含所有既属于A又属于B的元素,因此,查找单链表A和B中相同的元素并保留在单链表A中。
2)、中包含所有A中元素和B中元素,因此,对单链表B中的每个元素x,在单链表A中进行查找,若不存在该元素,则将该结点插入到单链表A中。
3)、A-B中包含所有属于A中元素而不属于B中元素,因此,对单链表B中的每个元素x,在单链表A中进行查找,若存在该元素,则将该结点从单链表A中删除。