鍊錶:
1、注意是否有帶頭結點。
2、單鏈表的建立:順序建表(尾插法)、逆序建表(頭插法)。
3、單鏈表的插入、刪除操作需要尋找前驅結點。
單鏈表的建立、排序和翻轉,都是針對有頭結點的單鏈表。
#include usingnamespace
std;
typedef
struct
node
node,*list;
//順序建表:尾插法
void createlinklist(list& l, intn)}
//逆序建表:頭插法
void createlinklist2(list& l, intn)}
void
printlinklist(list l)
cout
<}int getlength(node *head)
return
len;
}void destroylist(list &l)}//
採用插入法將單鏈表中的元素排序。
void insertionsort(list &l)}//
採用選擇法將單鏈表中的元素排序。
void selectionsort(list &l)
m=q->next; //
找到最小m
//最小元素m插入有序序列末尾(p之後)
if (q!=p)
p=p->next; //
l->next至p為有序序列}}
//單鏈表就地逆置
void reverselist(node*h)
}int
main()
建立線性單鏈表,並將單鏈表翻轉
package 資料結構 public class lianbiao public lianbiao 首先建立單鏈表的結點類。package 資料結構 鍊錶反轉 class lianbiao2 extends lianbiao1 public lianbiao2 int n public void ...
單鏈表的建立 翻轉與列印
使用者給定乙個陣列,用陣列中元素建立鍊錶並翻轉。include include 單鏈表節點的定義 typedef struct node listnode 單鏈表的列印 void display listnode list printf n 單鏈表的建立 listnode creatlist int...
單鏈表翻轉
關於單鏈表的翻轉問題頗為困擾人。下面寫的程式只需遍歷每個節點一次,並且不需要構造輔助接點 通過new的方式 另外這個問題可以轉換為乙個迴圈鍊錶結構,很有意思。h struct node class cdatastruct cpp檔案 cdatastruct cdatastruct void cdat...