我想知道是否有人建议跟踪和排序一些指针。每个指针指向一个包含一些元素的struct(struct1_t)。
我还需要能够(非常快速地)找到具有最多元素的struct1_t来添加新的元素(从列表中删除完整的元素),但struct1_t可能会改变它们拥有的元素数量(增量完全或减少随机),所以我需要能够快速更新此存储。所有新的struct1_t在添加时都有0个元素,或者(MAX - 1)个元素。
然而,这里的挑战是我不知道使用链表的方法,因为不幸的是,我无法使用malloc。我只能一次分配和释放整个页面(或多个)。
答案 0 :(得分:1)
我认为你可以这样做,定义一个结构
struct node{
int data;
struct node *prev;
struct node *next;
};
如果你不能使用malloc,你可以声明一个全局数组
struct node elements[ENOUGH_SPACE];
然后使用此数组的每个元素,如malloc的结果,如
struct node *p = &elements[i];
p->next = ...
p->prev = ...