第四周專案(1) 單鏈表的的建立

2021-08-08 13:52:16 字數 1522 閱讀 3251

本問題是鍊錶的初步演算法實現,具有非常重要的意義,是我麼理解鍊錶的第一步。

**如下:

/* 

*all right reserved.

*作 者:王銘澤.

*完成日期:2017,9,21

*版 本 號: v1.0

* *問題描述: 定義單鏈表儲存結構,用頭插法和尾插法建立單鏈表,並顯示建立好以後的結果。

*輸 入: 無

*輸 出: 兩個不同方式建立的鍊錶。

*/

#includeusing namespace std;

#include typedef int elemtype;

typedef struct lnode //定義單鏈表結點型別

linklist;

void createlistf(linklist *&l,elemtype a,int n);//頭插法建立單鏈表

void createlistr(linklist *&l,elemtype a,int n);//尾插法建立單鏈表

void destroylist(linklist *&l); //銷毀單鏈表

void displist(linklist *l); //輸出單鏈表

int main()

; createlistf(l1, a, 8);

cout<

displist(l1);

createlistr(l2, a, 6);

cout<

displist(l2);

destroylist(l1);

destroylist(l2);

return 0;

}void createlistf(linklist *&l,elemtype a,int n)//頭插法建立單鏈表

}void createlistr(linklist *&l,elemtype a,int n)//尾插法建立單鏈表

r->next=null;

}void destroylist(linklist *&l) //銷毀單鏈表

free(pre);

}void displist(linklist *l) //輸出單鏈表

cout<

在定義好乙個資料結構後,用鍊錶實現建立線性表。其中有頭插法既與正常資料相反順序,還有尾插法此方法與正常邏輯順序一樣。

執行結果:

總結與經驗:

我在實驗時遇到了幾個問題:

1.頭插法顯示出問題,經檢查是輸出函式出了問題 其中r是l鍊錶的指標,應該輸出r->data 而不是我之前寫的l->data;

2.第二個問題是尾插法直接不顯示結果,檢查後發現是其中沒有用中間之間傳遞一下l的第一導致l頭指標的位址不斷變化導致 每次迴圈頭指標l->next都變,最後的l->next=null;所以 無輸出。

第四周專案1 建立單鏈表

定義單鏈表儲存結構,用頭插法和尾插法建立單鏈表,並顯示建立好以後的結果。請在下面 的基礎上開展工作 include include typedef int elemtype typedef struct lnode 定義單鏈表結點型別 linklist void createlistf linkli...

第四周專案1 建立單鏈表

煙台大學計算機與控制工程學院 作 者 孫瀟 完成日期 2015年10月5號 問題描述 定義單鏈表儲存結構,用頭插法和尾插法建立單鏈表,並顯示建立好以後的結果。輸入描述 若干資料 程式輸出 輸出8個以頭插法建立的鍊錶資料和6個以尾插法建立的鍊錶資料。include include typedef in...

第四周專案1 建立單鏈表

問題及 檔名稱 鍊錶的基本運算 完成日期 2015年10月6日 問題描述 定義單鏈表儲存結構,用頭插法和尾插法建立單鏈表,並顯示建立好以後的結果 輸入描述 無 程式輸出 測試結果 include include typedef int elemtype typedef struct lnode 定義...