我有一个结构链接,我需要在固定大小的数组中存储多个。 每个链表仍然需要能够动态更改。我想要 创建一个指针数组,其中指针指向每个链表的头部。但我不确定这是否有效。
答案 0 :(得分:0)
假设您的列表节点定义类似于
struct node {
T data; // for some arbitrary type T
struct node *next;
};
并假设您正在使用单个列表
struct node *aList = createList();
addToList( &aList, newData ); // assumes the list head may change
struct node *n = findInList( aList, dataItem );
那么你需要做的就像是
struct node *listArray[N]; // holds pointers to N separate lists
...
listArray[i] = createList();
addToList( &listArray[i], newData );
struct node *n = findInList( listArray[i], dataItem );
每个listArray[i]
都是一个单独的列表;只需像对待struct node *
类型的任何其他对象一样对待它。