1

我想知道是否有人对跟踪和排序一些指针有建议。每个指针都指向一个包含一些元素的结构(struct1_t)。

我还需要能够(非常快速地)找到具有最多元素的 struct1_t 来添加新元素(从列表中删除完整的元素),但是 struct1_t s 可能会改变它们拥有的元素的数量(增加最多或仅随机递减),因此我需要能够在此存储中快速更新它。所有新的 struct1_t 添加时都有 0 个元素,或 (MAX - 1) 个元素。

但是,这里的挑战是我不知道使用链表的方法,因为不幸的是,我无法使用 malloc。我只能一次分配和释放整个页面(或多个页面)。

4

1 回答 1

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 = ...
于 2012-07-31T03:06:34.163 回答