2015-05-08 31 views
-2

是否可以將無符號長整型插入從最小到最大排序的鏈表中而不使用malloc或free。C中沒有malloc的鏈接列表

+2

您可以使用數組來將整數存儲在列表中。 –

+0

你能用一個例子來解釋嗎?對不起,我是C新手C –

+0

您只需編寫一個按給定順序在數組中插入整數的函數。 –

回答

4

您可以預先分配一組數組形式的列表條目,然後在插入時從該數組中選擇條目。這當然只有在數組是全局的或者在插入操作的持續時間內保持在範圍內時纔是可能的。

喜歡的東西:

struct integerNode { 
    int    value; 
    struct integerNode *next; 
}; 

struct integerNode nodes[100]; /* adjust for your number of integers */ 

下一步是使用一個簡單的循環fornodes鏈接在一起的項目,形成了免費項目的鏈接列表。然後編寫一個函數,將節點從空閒列表中解除鏈接並將其鏈接到另一個列表中,同時插入該編號。