2010-03-05 100 views
0

我正在進行仿真。對於這個模擬,我需要20個節點(靜態),然後每個節點都有一個與之關聯的隊列。該隊列可以包含任意數量的值。在C中實現這個最好的方法是什麼?我的目標是讓每個隊列都是一個簡單的鏈表,但我怎樣纔能有效地創建幾個隊列,每個隊列一個?創建隊列列表

感謝, 任何幫助將非常感激

回答

2

基本上,你需要創建隊列,這是一個簡單的鏈表一個結構:

typedef struct queue_t { 
    int data; /* the date in the queue, can be anything, not only an int */ 
    struct queue_t* next; /* pointer to the next in the queue */ 
} queue_t; 

然後又是一個列表20隊列:

queue_t *list_of_queues[20]; 

這是最簡單的方法去它,恕我直言。

編輯:製造結構的數組的指針

+0

你必須定義一個指針鏈表的頭,爲每個隊列,然後數組? 會是list_of_queues [1] * HeadList = NULL – stephen 2010-03-05 22:36:54

+1

@stephen:我會改變上面的例子爲'struct queue_t * list_of_queues [20];'這樣'list_of_queues [t]'將會保存隊列頂部的指針節點't'。 – bta 2010-03-06 00:00:27

+0

@bta:我同意。我按照你的建議改變了這個例子。 – 2010-03-06 11:17:19