程序功能设计思路及结构说明:#includecstdio链表去重#includecmath#includealgorithm#includecstringusing namespace std;struct node int addkeynext; int notag;Node100005;int hash100005;bool cmpnode a node b ifatag!=btag retu
程序功能:该程序实现了链表去重的功能,输入一个链表的起始地址和链表的长度,将链表中重复的节点去除,输出去重后的链表。
设计思路:首先定义一个结构体node,用来表示链表的节点,包括地址、关键字和下一个节点的地址等信息。然后定义一个hash数组,用来标记链表中是否出现过某个关键字。接着使用循环读入链表的节点信息,并根据关键字在hash数组中进行标记,将未重复的节点的tag标记为2,重复的节点的tag标记为1。然后根据tag和no进行排序,将未重复的节点放在前面,重复的节点放在后面。最后按照要求输出去重后的链表。
程序结构说明:程序首先包含了一些头文件,并定义了一个结构体node和一个hash数组。然后在主函数中,首先读入链表的起始地址和长度,并对hash数组进行初始化。接着使用循环读入链表的节点信息,并进行去重操作。然后根据tag和no进行排序,最后按照要求输出去重后的链表。最后返回0表示程序正常结束。
原文地址: https://www.cveoy.top/t/topic/is6S 著作权归作者所有。请勿转载和采集!