歡迎來(lái)到培訓(xùn)無(wú)憂網(wǎng)!

全國(guó)切換

咨詢(xún)熱線 400-001-5729

位置:培訓(xùn)無(wú)憂網(wǎng) > 新聞資訊 > 電腦/IT > c語(yǔ)言 >  C語(yǔ)言學(xué)習(xí)下八大排序算法是哪八種

C語(yǔ)言學(xué)習(xí)下八大排序算法是哪八種

來(lái)源:m.universityresearchassociates.com 發(fā)布人:星星

2021-12-24 11:09:03|已瀏覽:182次

八大排序算法

       排序是計(jì)算機(jī)內(nèi)經(jīng)常進(jìn)行的一種操作,其目的是將一組“無(wú)序”的記錄序列調(diào)整為“有序”的記錄序列。排序分為內(nèi)部排序和外部排序。若整個(gè)排序過(guò)程不需要訪問(wèn)外存便能完成,則稱(chēng)此類(lèi)排序問(wèn)題為內(nèi)部排序。反之,若參加排序的記錄數(shù)量很大,整個(gè)序列的排序過(guò)程不可能在內(nèi)存中完成,則稱(chēng)此類(lèi)排序問(wèn)題為外部排序。那么你知道c語(yǔ)言有哪八個(gè)排序方法嗎?

1、插入排序
       將第一個(gè)和第二個(gè)元素排好序,然后將第3個(gè)元素插入到已經(jīng)排好序的元素中,依次類(lèi)推(插入排序最好的情況就是數(shù)組已經(jīng)有序了)
2、希爾排序
       因?yàn)椴迦肱判蛎看沃荒懿僮饕粋(gè)元素,效率低。元素個(gè)數(shù)N,取奇數(shù)k=N/2,將下標(biāo)差值為k的數(shù)分為一組(一組元素個(gè)數(shù)看總元素個(gè)數(shù)決定),在組內(nèi)構(gòu)成有序序列,再取k=k/2,將下標(biāo)差值為k的數(shù)分為一組,構(gòu)成有序序列,直到k=1,然后再進(jìn)行直接插入排序。
3、簡(jiǎn)單選擇排序
       選出最小的數(shù)和第一個(gè)數(shù)交換,再在剩余的數(shù)中又選擇最小的和第二個(gè)數(shù)交換,依次類(lèi)推
4、堆排序
       以升序排序?yàn)槔,利用小根堆的性質(zhì)(堆頂元素最小)不斷輸出最小元素,直到堆中沒(méi)有元素:
1.構(gòu)建小根堆
2.輸出堆頂元素
3.將堆低元素放一個(gè)到堆頂,再重新構(gòu)造成小根堆,再輸出堆頂元素,以此類(lèi)推
5、冒泡排序
改進(jìn)1:如果某次冒泡不存在數(shù)據(jù)交換,則說(shuō)明已經(jīng)排序好了,可以直接退出排序
改進(jìn)2:頭尾進(jìn)行冒泡,每次把最大的沉底,最小的浮上去,兩邊往中間靠1
6、快速排序
       選擇一個(gè)基準(zhǔn)元素,比基準(zhǔn)元素小的放基準(zhǔn)元素的前面,比基準(zhǔn)元素大的放基準(zhǔn)元素的后面,這種動(dòng)作叫分區(qū),每次分區(qū)都把一個(gè)數(shù)列分成了兩部分,每次分區(qū)都使得一個(gè)數(shù)字有序,然后將基準(zhǔn)元素前面部分和后面部分繼續(xù)分區(qū),一直分區(qū)直到分區(qū)的區(qū)間中只有一個(gè)元素的時(shí)候,一個(gè)元素的序列肯定是有序的嘛,所以最后一個(gè)升序的序列就完成啦。
7、歸并排序
      將一個(gè)無(wú)序的數(shù)列一直一分為二,直到分到序列中只有一個(gè)數(shù)的時(shí)候,這個(gè)序列肯定是有序的,因?yàn)橹挥幸粋(gè)數(shù),然后將兩個(gè)只含有一個(gè)數(shù)字的序列合并為含有兩個(gè)數(shù)字的有序序列,這樣一直進(jìn)行下去,最后就變成了一個(gè)大的有序數(shù)列。
8、基數(shù)排序

      找到最大的數(shù),開(kāi)個(gè)比最大的數(shù)大一點(diǎn)的數(shù)組,遍歷每個(gè)元素,某個(gè)元素為k,則a[k]++,最好遍歷數(shù)組a,a[k]等于多少就輸出多少個(gè)k。并且只能處理整型數(shù)。

      本文由培訓(xùn)無(wú)憂網(wǎng)達(dá)內(nèi)教育專(zhuān)屬課程顧問(wèn)老師整理發(fā)布,更多C語(yǔ)言課程信息可關(guān)注培訓(xùn)無(wú)憂網(wǎng)C語(yǔ)言培訓(xùn)頻道或添加老師微信:15033336050

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://m.universityresearchassociates.com/news-id-9755.html 違者必究!部分文章來(lái)源于網(wǎng)絡(luò)由培訓(xùn)無(wú)憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注c語(yǔ)言頻道查看更多,了解相關(guān)專(zhuān)業(yè)課程信息您可在線咨詢(xún)也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問(wèn)老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專(zhuān)業(yè)課程!
  • 姓名:

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無(wú)憂網(wǎng)
免 費(fèi) 申 請(qǐng) 試 聽(tīng)
提交申請(qǐng),《培訓(xùn)無(wú)憂網(wǎng)》課程顧問(wèn)老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專(zhuān)業(yè)課程!