C语言 从一个结构创建多个链表



我正在努力创建一个程序,我从一个文件中读取信息,并在4个链表之间分配信息。我创建了下面的结构来表示这些信息。

struct ListStruct{
  int waitingTime;
  struct ListStruct *next;
};

我的问题与这些类型有关。虽然第一个定义了结构,但我不确定第二个是做什么的。它创建了一个指向结构体"Patron"的指针,但它是否被类型定义意味着任何可以让我轻松地在4个链表之间移动的东西?如果是这样,什么是有效的方法来利用它?

typedef struct ListStruct Patron; 
typedef Patron *ListHeadPtr;

是否被类型定义意味着任何可能允许我轻松地在4个链表之间移动?

不,只是为了方便。

如果是,什么是有效的方法来利用它?

你现在可以把链表传递给函数,像这样:

ListHeadPtr append(ListHeadPtr aList, ListHeadPtr anotherList) {
    ....
}

附录

对一个元素进行"控制"(即将其插入列表的开头):

ListHeadPtr cons(int waitTime, ListHeadPtr list) {
    ListHeadPtr first = malloc(sizeof(Patron));
    if (first == NULL) {
        /* Take evasive action */
    }
    first->waitingTime = waitTime;
    first->next = list;
    return first;
}

相关内容

  • 没有找到相关文章

最新更新