最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
漳平市| 康定县| 岳阳市| 左云县| 满洲里市| 磴口县| 赣州市| 工布江达县| 阿瓦提县| 乌兰浩特市| 三原县| 洪洞县| 仪征市| 金乡县| 乌苏市| 金川县| 盘山县| 连平县| 杭锦后旗| 玉林市| 砀山县| 嘉荫县| 宣化县| 宝鸡市| 延寿县| 开江县| 安图县| 通渭县| 孙吴县| 巴南区| 区。| 苏州市| 晴隆县| 莱西市| 连山| 克什克腾旗| 安徽省| 兴化市| 姜堰市| 广丰县| 阿城市|