【发布时间】:2018-08-14 06:45:27
【问题描述】:
所以我有以下结构:
typedef struct listElement
{
element value;
struct listElement;
} listElement, *List;
element 不是已知类型,这意味着我不确切知道我正在处理的数据类型是整数还是浮点数或字符串。 目标是制作一个函数,删除多余两次以上的listElements(意味着一个值只能出现0次,一次或两次,不能更多) 我已经制作了一个使用暴力破解的函数,带有一个嵌套循环,但这是一个集群****,因为我正在处理列表中的大量元素。 (遍历每个元素并将其与列表中的其余元素进行比较) 我想知道是否有更好的解决方案,使用更少的指令并且具有更低的复杂性。
【问题讨论】:
-
结构声明无效。我认为您的意思是数据成员 struct listElement; *下一个;
-
如果您必须根据列表验证元素,那么听起来您需要 BST,而不是链表。
-
struct listElement *next;也许?? (因为它是一个列表......)对于*List,您需要查看:Is it a good idea to typedef pointers?。
标签: c algorithm linked-list