2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C語(yǔ)言中三種常見(jiàn)排序算法分析語(yǔ)言中三種常見(jiàn)排序算法分析一、冒泡法(起泡法)一、冒泡法(起泡法)算法要求算法要求:用起泡法對(duì)10個(gè)整數(shù)按升序排序。算法分析算法分析:如果有n個(gè)數(shù),則要進(jìn)行n1趟比較。在第1趟比較中要進(jìn)行n1次相鄰元素的兩兩比較,在第j趟比較中要進(jìn)行nj次兩兩比較。比較的順序從前往后,經(jīng)過(guò)一趟比較后,將最值沉底(換到最后一個(gè)元素位置),最大值沉底為升序,最小值沉底為降序。算法源代碼算法源代碼:#includemain()in

2、ta[10]ijtprintf(“Pleaseinput10numbers:“)輸入源數(shù)據(jù)f(i=0ia[i1])相鄰元素比較,逆序則交換t=a[i]a[i]=a[i1]a[i1]=t輸出排序結(jié)果printf(“Thestednumbers:“)f(i=0imain()inta[10]ijktn=10printf(“Pleaseinput10numbers:“)f(i=0i10i)scanf(“%d“中)逐個(gè)后移一個(gè)位置,最后完成插入。

3、該算法的特點(diǎn)是在尋找插入位置的同時(shí)完成元素的移動(dòng)。因?yàn)樵氐囊苿?dòng)必須從后往前,則可將兩個(gè)操作結(jié)合在一起完成,提高算法效率。仍可進(jìn)行升序或降序排序。幾種排序的概念在數(shù)據(jù)的處理中,數(shù)據(jù)的排序是相當(dāng)重要的。它可以使數(shù)據(jù)更有條理,方便數(shù)據(jù)的其它處理。在學(xué)習(xí)生活中,也經(jīng)常用到數(shù)據(jù)的排序,如:考完試后個(gè)人成績(jī)的排名、運(yùn)動(dòng)會(huì)上班級(jí)總分的排名、常規(guī)評(píng)比分?jǐn)?shù)的排序。這些排序當(dāng)然不是人工完成的,它們大多數(shù)是用excel軟件來(lái)代勞的。那么excel軟件的排序

4、的本質(zhì)方法是什么呢?這就是我所要研究學(xué)習(xí)的內(nèi)容。通過(guò)查閱圖書、教材,搜索資料、教程,我了解到:排序的本質(zhì)其實(shí)就是比較。對(duì)于任何一種排序方法來(lái)說(shuō),比較都是其最重要的一個(gè)組成部分。但它也是最簡(jiǎn)單的部分,因?yàn)榕判蚍椒ǖ暮脡?、快慢取決于比較的方法、比較的順序和比較的次數(shù),而與比較本身關(guān)系不大。那么,排序具體有那些方法呢?下面介紹幾種我研究學(xué)習(xí)了的算法。一、冒泡排序已知一組無(wú)序數(shù)據(jù)a[1]、a[2]、……a[n],需將其按升序排列。首先比較a[1

5、]與a[2]的值,若a[1]大于a[2]則交換兩者的值,否則不變。再比較a[2]與a[3]的值,若a[2]大于a[3]則交換兩者的值,否則不變。再比較a[3]與a[4],依此類推,最后比較a[n1]與a[n]的值。這樣處理一輪后,a[n]的值一定是這組數(shù)據(jù)中最大的。再對(duì)a[1]~a[n1]以相同方法處理一輪,則a[n1]的值一定是a[1]~a[n1]中最大的。再對(duì)a[1]~a[n2]以相同方法處理一輪,依此類推。共處理n1輪后a[1]、

6、a[2]、……a[n]就以升序排列了。優(yōu)點(diǎn):穩(wěn)定,比較次數(shù)已知;缺點(diǎn):慢,每次只能移動(dòng)相鄰兩個(gè)數(shù)據(jù),移動(dòng)數(shù)據(jù)的次數(shù)多。二、選擇排序已知一組無(wú)序數(shù)據(jù)a[1]、a[2]、……a[n],需將其按升序排列。首先比較a[1]與a[2]的值,若a[1]大于a[2]則交換兩者的值,否則不變。再比較a[1]與a[3]的值,若a[1]大于a[3]則交換兩者的值,否則不變。再比較a[1]與a[4],依此類推,最后比較a[1]與a[n]的值。這樣處理一輪后,

7、a[1]的值一定是這組數(shù)據(jù)中最小的。再將a[2]與a[3]~a[n]以相同方法比較一輪,則a[2]的值一定是a[2]~a[n]中最小的。再將a[3]與a[4]~a[n]以相同方法比較一輪,依此類推。共處理n1輪后a[1]、a[2]、……a[n]就以升序排列了。優(yōu)點(diǎn):穩(wěn)定,比較次數(shù)與冒泡排序一樣,數(shù)據(jù)移動(dòng)次數(shù)比冒泡排序少;缺點(diǎn):相對(duì)之下還是慢。三、插入排序已知一組升序排列數(shù)據(jù)a[1]、a[2]、……a[n],一組無(wú)序數(shù)據(jù)b[1]、b[2]

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論