所以我有如下结构:
typedef struct listElement
{
element value;
struct listElement;
} listElement, *List;
元素不是一个已知的类型,这意味着我不知道到底要处理什么数据类型,不管它们是整数、浮点数还是字符串。
目标是生成一个函数,该函数删除冗余超过两次的listenElement(意味着一个值只能出现0次,一次或两次,不能出现更多)
我已经创建了一个使用bruteforce的函数,它有一个嵌套循环,但这是一个集群****因为我正在处理列表中的大量元素。(遍历每个元素并将其与列表中的其他元素进行比较)
我想知道是否有一个更好的解决方案,使用较少的构造,并且具有较低的复杂性。
最佳答案
您可以使用哈希表并将元素映射到其计数。
如果hashtable[element]返回2,则删除当前元素。
关于c - 链表中的简单冗余,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49130337/