我正在尝试编写一个抽象数据类型来表示整数项集使用链表,但我已经卡住了。我不确定是否可以从另一个结构声明引用一个结构声明。这是我的尝试:
struct linkedListElement{
int data;
struct linkedListElement * next;
};
struct linkedListSet {
struct linkedListElement * firstElement;
struct linkedListElement * header;
struct linkedListElement * current;
struct linkedListElement * temp;
header = firstElement;
};
是否可以这样做,或者有更简单的方法?
一个结构定义可以引用另一个结构定义 - 你在代码中正确地这样做:
struct linkedListSet {
struct linkedListElement * firstElement;
如果您的意思是"设置",如"没有重复项的无序集合",那么重要的逻辑将在于您如何操作底层数据结构以强制执行这些约束。 例如,对于单链表,您必须在添加项目以检查重复项之前迭代整个列表。
header = firstElement;
结构定义中不允许使用此行。