所以我有如下结构:

typedef struct listElement
{
   element value;
   struct listElement;
} listElement, *List;

元素不是一个已知的类型,这意味着我不知道到底要处理什么数据类型,不管它们是整数、浮点数还是字符串。
目标是生成一个函数,该函数删除冗余超过两次的listenElement(意味着一个值只能出现0次,一次或两次,不能出现更多)
我已经创建了一个使用bruteforce的函数,它有一个嵌套循环,但这是一个集群****因为我正在处理列表中的大量元素。(遍历每个元素并将其与列表中的其他元素进行比较)
我想知道是否有一个更好的解决方案,使用较少的构造,并且具有较低的复杂性。

最佳答案

您可以使用哈希表并将元素映射到其计数。
如果hashtable[element]返回2,则删除当前元素。

关于c - 链表中的简单冗余,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49130337/

10-11 23:21