鍊錶的插入排序

2021-07-15 13:13:40 字數 867 閱讀 9599

鍊錶的插入排序。

這是帶頭結點的鍊錶排序,不帶頭結點的鍊錶排序只是將相應的head減少了乙個next域,所以凡是有head的地方都減少乙個->next域。

//不帶頭結點的鍊錶插入排序 

link sort(link head)

frist=frist->next;//這裡位置不能換;

if(post==head)//判斷是不是頭結點;

else

sert->next=post;//插入後連線原來有序鍊錶;

} return head;

}

帶頭結點的鍊錶插入排序

#include #include typedef struct numlist,*link;

void print(link head);

link create(link head)

return head;

}link sort(link head)

frist=frist->next; // 找到未排序的第乙個結點

if(post==head->next) //if()else()就是將找到的要插入結點插入到相應的位置

else

sert->next=post; //插入的結點指向下乙個結點post

print(head);

printf("\n");

} return head;

}void print(link head)

}int main()

鍊錶插入排序

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變為空,連到一開始建...