動態鍊錶建立 刪除 插入 排序

2021-10-05 23:45:50 字數 1212 閱讀 4620

#include

#include

#define stu struct student

#define len sizeof(stu)

struct student

;stu *

creat()

;//建立動態鍊錶

void

print

(stu *head)

;//輸出動態鍊錶

stu *

del(stu *head,

int n)

;//刪除節點

stu *

ins(stu *head,

int n,

int after)

;//插入節點

stu *

sort1

(stu *head)

;//鍊錶排序1

stu *

sort2

(stu *head)

;//鍊錶排序2

intmain()

stu *

creat()

p2->next=

null

;return head;

}void

print

(stu *head)

}stu *

del(stu *head,

int n)

for(p2=head,p1=head->next;p1!=

null

;p2=p1,p1=p1->next)

}return

null;}

stu *

ins(stu *head,

int after,

int n)

}return

null;}

/*通過改變節點連線邏輯交換節點*/

stu *

sort1

(stu *head)

else

if(p1==head&&p2!=head->next)

else

if(p1!=head&&p2==p1->next)

else}}

}return head;

}/*通過交換節點內的資料交換節點*/

stu *

sort2

(stu *head)}}

return head;

}

鍊錶插入排序

void insertsort list sortascount,node node else p prior next q q next p int sortwithinsetmethod list sortasdata wchar pp p data if isnum pp int i 0 i ...

鍊錶插入排序

題目 用插入排序對鍊錶排序 樣例 given1 3 2 0 null,return0 1 2 3 null 思路 新建乙個以dummy開頭的鍊錶,並將dummy賦初值為0。令node dummy,通過移動新煉表中的node與要排序的鍊錶中的head,並比較node與head的值,來實現排序。如果he...

鍊錶插入排序

題目 用插入排序對鍊錶排序 思路 建立乙個新的鍊錶,將目標鍊錶依次插入先煉表中,小就插到前面,大就插到後面,如此一來,新的鍊錶就是目標鍊錶按大小次序排列的了。先看第一步,將目標鍊錶的第乙個元素插入所建立的空鍊錶,具體是先建立乙個地值存下頭節點的下乙個節點的位置,將頭節點的next變為空,連到一開始建...