五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

鏈表排序的思路以及基本的gdb調(diào)試命令

2023-02-19 10:04 作者:秋名山西  | 我要投稿

一、鏈表排序

鏈表分為單鏈表和雙鏈表,雙鏈表的排序適合快速排序,這個(gè)在c語言庫(kù)函數(shù)中使用sort進(jìn)行了實(shí)現(xiàn)。但是單鏈表并不適合使用快速排序。因此我們可以使用插入排序、選擇排序、冒泡排序等方法。注意:鏈表不一定會(huì)有頭結(jié)點(diǎn),但是一定會(huì)有一個(gè)頭指針。特別是如何在不改變?cè)湵碇羔樦赶虻那闆r下交換兩個(gè)節(jié)點(diǎn)

1、選擇排序

選擇排序的思路:選出一個(gè)數(shù),假定它是最小/最大值,然后與無序隊(duì)列中的元素進(jìn)行比較,直到找出最小值,然后交換數(shù)據(jù)。

具體做法:重新定義兩個(gè)鏈表指針,一個(gè)指針指向當(dāng)前操作的鏈表節(jié)點(diǎn),取名為p,另一個(gè)取名為min,指向本輪排序中數(shù)值最小的節(jié)點(diǎn)。與數(shù)組排序不同的是,數(shù)組是記錄最小值元素的下標(biāo),這里是記錄數(shù)值最小的節(jié)點(diǎn)的指針。

這里需要注意傳入的鏈表是否有頭結(jié)點(diǎn),一般有頭結(jié)點(diǎn)的鏈表會(huì)在創(chuàng)建鏈表時(shí)創(chuàng)建一個(gè)頭結(jié)點(diǎn)(數(shù)據(jù)域無效或者存儲(chǔ)鏈表節(jié)點(diǎn)數(shù))。

2、插入法排序

思路:創(chuàng)建一個(gè)有序數(shù)列,從原來的無序數(shù)列中取出一個(gè)數(shù),插入有序數(shù)列中。

具體做法:鏈表中需要?jiǎng)?chuàng)建一個(gè)新的鏈表,用來保存排序好的鏈表節(jié)點(diǎn)。同樣的,這里也需要定義一個(gè)cur指針,指向原鏈表當(dāng)前被操作的節(jié)點(diǎn),sortCur指向有序鏈表的當(dāng)前被操作的節(jié)點(diǎn)。prev指向當(dāng)前被操作的節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)。與選擇法不同的是,這里是新節(jié)點(diǎn)插入鏈表,而不是兩個(gè)節(jié)點(diǎn)的數(shù)據(jù)交換。


鏈表排序的思路以及基本的gdb調(diào)試命令的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
平定县| 芜湖县| 博客| 民丰县| 兰溪市| 临沧市| 靖西县| 子长县| 江达县| 凌源市| 老河口市| 肃宁县| 延安市| 龙南县| 宝鸡市| 宣恩县| 微山县| 正蓝旗| 苍南县| 奉贤区| 财经| 萍乡市| 渭源县| 灵璧县| 桂林市| 乌兰察布市| 德钦县| 镇沅| 岗巴县| 大荔县| 荆门市| 水富县| 昌都县| 巧家县| 柳林县| 蚌埠市| 拜泉县| 前郭尔| 弥渡县| 万载县| 准格尔旗|