簡體   English   中英

如何在c中創建包含多個鏈接列表的數組?

[英]How do I create an array of multiple linked lists in c?

我有一個結構鏈接,我需要在一個固定大小的數組中存儲多個。 每個鏈表仍然需要能夠動態更改。 我只想創建一個指針數組,其中的指針指向每個鏈接列表的頭部。 但是我不確定這是否行得通。

假設您的列表節點定義看起來像

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 *對象一樣對待它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM