尾插法建立單鏈表(C)

2021-09-13 16:23:18 字數 1274 閱讀 7477

尾插法建立單鏈表(c) (25 分)

本題要求實現兩個函式,輸入n個資料,採用尾插法建立單鏈表並列印。例如:如果輸入4 ,再輸入3 7 9 5,則應列印輸出3 7 9 5。

struct node ;
/* 尾插法建立單鏈表:返回單鏈表的頭指標 */

struct node* buildlinkedlist(int* arr, int n); /* 尾插法建立單鏈表 */

void printlinkedlist(struct node* head); /* 列印鍊錶 */

其中arrn是使用者傳入的引數,n的值不超過100000。head為單鏈表的頭指標。

#include #include //malloc函式

struct node ;

/* 尾插法建立單鏈表:返回單鏈表的頭指標 */

struct node* buildlinkedlist(int* arr, int n); /* 尾插法建立單鏈表 */

void printlinkedlist(struct node* head); /* 列印鍊錶 */

int main(int argc, char const *ar**)

struct node* head = null; //宣告乙個指標變數head

//建立鍊錶,把返回的頭指標賦值給head指標變數

head = buildlinkedlist(a, n);

//列印鍊錶:整個鍊錶用head來代表。

printlinkedlist(head);

free(a); //釋放儲存空間

return 0;

}/* 請在這裡填寫答案 */

輸入包含兩行。 第一行為資料個數n,不超過100000。 第二行為n個空格分隔的整數,其值不超過int值的範圍。

4

3 7 9 5

在一行輸出鍊錶每個結點中的資料,以空格分隔,但行尾無多餘空格。

3 7 9 5
struct node* buildlinkedlist(int* arr, int n)

return head;

}void printlinkedlist(struct node* head)

}

建立單鏈表(尾插法)

建立單鏈表有兩種方法,這裡採用頭插法。尾插法含義 該方法是從乙個空表開始,讀取陣列的元素,生成新節點,將讀取的資料放到存放在新節點的資料域中,然後將該節點插入到鍊錶的表頭上,直到結束為止。由於 頭插法會讓順序與陣列原順序相反,所以這裡要定義乙個尾指標r才可讓順序不變。思路 尾插法 1.先建立乙個頭結...

建立單鏈表(頭插法 尾插法)

1 頭插法建立單鏈表 生成的鍊錶中結點的順序與輸入的順序相反 頭插法建立單鏈表 status createlist l linklist l,int n return ok 2 尾插法建立單鏈表 與輸入的順序相同 尾插法建立單鏈表 status createlist tail linklist l,...

建立迴圈單鏈表(尾插法)

迴圈鍊錶的操作實現演算法與非迴圈鍊錶的操作演算法基本相同,只是對錶尾的判斷做了改變。定義單鏈表的儲存結構 typedef struct linklist思路 尾插法,定義尾指標 1.建立頭結點l.並置為空的迴圈單鏈表 並定義乙個尾指標 2.通過for迴圈,生成新節點,鏈結到頭結點之後,乙個接乙個。注...