本問題是鍊錶的初步演算法實現,具有非常重要的意義,是我麼理解鍊錶的第一步。
**如下:
/*
*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 定義...