線性表(二) 單鏈表(1) 單鏈表的建立

2021-07-07 03:13:00 字數 1533 閱讀 4207

/*      

*all right resvered .

*檔名稱: 單鏈表的建立.cpp

*作 者: 鄭兆涵

*線性表(二)——單鏈表 (1)

*/

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

程式設計**:

#include #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 createlisto(linklist *&l,elemtype a,int n);//建立有序(公升序)的單鏈表

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

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

int main()

; createlistf(l1, a, 8);

printf("頭插法建表結果:");

displist(l1);

createlistr(l2, a, 6);

printf("尾插法建表結果:");

displist(l2);

createlistf(l3, a,8);

printf("有序法建表結果:");

displist(l3);

destroylist(l1);

destroylist(l2);

destroylist(l3);

return 0;

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

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

r->next=null; //終端結點next域置為null

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

free(p); //此時q為null,p指向尾結點,釋放它

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

printf("\n");

}void createlisto(linklist *&l,elemtype a,int n) //建立有序(公升序)的單鏈表

}

輸出結果:

針對老師的此**,將建立有序的單鏈表加入其中並且執行成功,雖抄之有道,但又抄出新意!

線性表(二) 單鏈表(4) 單鏈表的逆置

all right resvered 檔名稱 單鏈表的逆置.cpp 作 者 鄭兆涵 線性表 二 單鏈表 4 問題 設計乙個演算法,將乙個帶頭結點的資料域依次為a1,a2,an n 3 的單鏈表的所有結點逆置,即第乙個結點的資料域變為an,最後乙個結點的資料域為a1。實現這個演算法,並完成測試。程式設...

線性表(二) 單鏈表(4) 單鏈表的遞增判斷

all right resvered 檔名稱 單鏈表的遞增判斷.cpp 作 者 鄭兆涵 線性表 二 單鏈表 4 問題 設計乙個演算法,判斷單鏈表l是否是遞增的。實現這個演算法,並完成測試。程式設計 標頭檔案 linklist.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 ifnd...

線性表之單鏈表

cpp view plain copy linkedlist linc 2013.2.26 include include include define ok 1 define error 1 define ture 1 define false 0 struct node typedef stru...