簡(jiǎn)論常用c語(yǔ)言排序算法剖析

簡(jiǎn)論常用c語(yǔ)言排序算法剖析

ID:9707871

大?。?3.50 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2018-05-05

簡(jiǎn)論常用c語(yǔ)言排序算法剖析_第1頁(yè)
簡(jiǎn)論常用c語(yǔ)言排序算法剖析_第2頁(yè)
簡(jiǎn)論常用c語(yǔ)言排序算法剖析_第3頁(yè)
簡(jiǎn)論常用c語(yǔ)言排序算法剖析_第4頁(yè)
簡(jiǎn)論常用c語(yǔ)言排序算法剖析_第5頁(yè)
資源描述:

《簡(jiǎn)論常用c語(yǔ)言排序算法剖析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、簡(jiǎn)論常用C語(yǔ)言排序算法剖析常用C語(yǔ)言排序算法剖析論文導(dǎo)讀:本論文是一篇關(guān)于常用C語(yǔ)言排序算法剖析的優(yōu)秀論文范文,對(duì)正在寫有關(guān)于元素論文的寫有一定的參考和指導(dǎo)作用,摘要:排序是計(jì)算機(jī)科學(xué)中最重要的研究理由之一,也是學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)過(guò)程中重點(diǎn)研究理由之一。主要介紹了順序比較法、選擇排序法、冒泡排序法、改善的冒泡排序法和直接插入排序法,并從排序算法的思想、模擬排序執(zhí)行過(guò)程、實(shí)現(xiàn)排序的算法代碼及算法性能分析4個(gè)方面進(jìn)行了詳細(xì)的剖析,可以幫助C語(yǔ)言初學(xué)者輕松理解幾種常用的排序算法?! £P(guān)鍵詞:C語(yǔ)言;排序;算法思想;數(shù)組  16727800(2012)011005103  __________

2、______________________________  簡(jiǎn)介:毛廣敏(1978-),女,宿遷經(jīng)貿(mào)高等職業(yè)技術(shù)學(xué)校講師,研究方向?yàn)橛?jì)算機(jī)軟件。0引言  在數(shù)據(jù)處理中,數(shù)據(jù)排序是相當(dāng)重要的,它可以使數(shù)據(jù)更有條理,方便數(shù)據(jù)的處理。排序是程序設(shè)計(jì)的常見(jiàn)理由,解決排序理由也有多種算法,常用的算法有順序比較排序法、選擇排序法、冒泡排序法、直接插入排序法、快速排序和希爾排序法等排序算法。在學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)過(guò)程中排序算法也是重點(diǎn)研究理由之一,本文主要用C語(yǔ)言來(lái)描述幾種常見(jiàn)的排序算法,以及分析實(shí)現(xiàn)算法的基本思路、模擬相應(yīng)算法實(shí)現(xiàn)排序的過(guò)程及算法性能分析。文中所涉及的排序均為升序排序?! ?順序

3、比較排序法  1.1算法思想  假設(shè)數(shù)組有n個(gè)元素,從第一個(gè)元素開(kāi)始為第一趟,第一個(gè)元素和第二個(gè)元素開(kāi)始到第n個(gè)元素按順序作比較,如果第一個(gè)元素大于某個(gè)元素則第一個(gè)元素和該元素進(jìn)行交換,第一個(gè)元素和其后的n1個(gè)元素一一進(jìn)行兩兩比較結(jié)束后將是所有元素中的最小值。接下來(lái)第二趟從第二個(gè)元素開(kāi)始逐一和其后的n2個(gè)元素兩兩比較,在進(jìn)行n2次比較后第二個(gè)元素將是剩下n1個(gè)元素中的最小值。依次類推一直到第n1趟最后兩個(gè)元素進(jìn)行比較并得到第n1個(gè)元素是剩下的兩個(gè)元素中的較小值?! ?.2模擬排序執(zhí)行過(guò)程  假設(shè)一個(gè)整型數(shù)組有5個(gè)元素,分別為23、12、5、16、10,排序執(zhí)行過(guò)程如下所示:  第一趟:

4、231251610(第一趟比較前元素)  第一次:122351610(由于23>12兩元素交換)  第二次:523121610(由于12>5兩元素交換)  第三次:523121610(由于512兩元素交換)  第二次:512231610(由于1210兩元素交換)  第三趟:510231612(第三趟比較前元素)  第一次:510162312(由于23>16兩元素交換)  第二次:510122316(由于16>12兩元素交換)  第四趟:510122316(第四趟比較前元素)  第一次:510121623(由于23>16兩元素交換)  1.3實(shí)現(xiàn)順序比較排序法核心代碼  for(i=0;

5、ia[j])//如果當(dāng)前趟的第一個(gè)元素大于當(dāng)前元素,則進(jìn)行交換  {t=a[i];  a[i]=a[j];  a[j]=t;}  1.4算法性能分析  有n個(gè)元素參加排序要進(jìn)行n1趟比較,第i趟要進(jìn)行ni次兩兩比較。時(shí)間復(fù)雜度為O(n2)。順序比較排序算法穩(wěn)定,比較次數(shù)已知,但是該算法速度慢?! ?冒泡排序法  2.1算法思想  假設(shè)數(shù)組有n個(gè)元素,第一趟從第一個(gè)元素開(kāi)始依次比較兩個(gè)相鄰元素的值,如果前一個(gè)元素的值大于后一個(gè)元素的值則兩個(gè)相鄰元素進(jìn)行交換,第一趟比較n1次,經(jīng)過(guò)一趟排序n個(gè)元素中的最大值存放到最后一個(gè)數(shù)組元素中。第二趟從第一個(gè)元素開(kāi)始到第n1個(gè)元素相鄰兩個(gè)元素作比較,如

6、果前一個(gè)數(shù)大于后一個(gè)數(shù)則兩個(gè)相鄰的元素進(jìn)行交換,經(jīng)過(guò)n2次比較,這一趟中最大值放在第n1個(gè)數(shù)組元素的位置。依次類推一直到第n1趟第一個(gè)元素和第二個(gè)元素兩個(gè)元素進(jìn)行比較,兩個(gè)元素中的較大值放在第二個(gè)數(shù)組元素的位置,較小值放在第一個(gè)數(shù)組元素的位置?! ?.2模擬排序執(zhí)行過(guò)程  假設(shè)一個(gè)整型數(shù)組有5個(gè)元素,分別為23、12、5、16、10,用變量k保存最小值的下標(biāo),排序執(zhí)行過(guò)程如下所示:  第一趟:231251610(第一趟比較前元素)  第一次:122351610(由于23>12兩元素交換位置)  第二次:125231610(由于23>5兩元素交換位置)  第三次:125162310(由于

7、23>16兩元素交換位置)  第四次:125161023(由于23>10兩元素交換位置)  第二趟:125161023(第二趟比較前元素)  第一次:512161023(由于12>5兩元素交換位置)  第二次:512161023(由于1210兩元素交換位置)第三趟:512101623(第三趟比較前元素)  第一次:512101623(由于510兩元素交換位置)  第四趟:510121623(第四趟比較前元素)  第一次:510121623(由于

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。