創(chuàng)新互聯(lián)www.cdcxhl.cn八線(xiàn)動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!
創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開(kāi)發(fā)人員和項(xiàng)目經(jīng)理組成的專(zhuān)業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺(jué)設(shè)計(jì)、用戶(hù)體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開(kāi)發(fā)等方面的工作,以確保網(wǎng)站外觀(guān)精美、成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)易于使用并且具有良好的響應(yīng)性。這篇文章運(yùn)用簡(jiǎn)單易懂的例子給大家介紹c語(yǔ)言中選擇排序和冒泡排序的用法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
對(duì)于選擇排序,首先理解排序的思想。給定一個(gè)數(shù)組,這種思想首先假定數(shù)組的首元素為大或者最小的。此時(shí)就要利用3個(gè)變量表示元素的下標(biāo)。一個(gè)表示當(dāng)前,一個(gè)表示找到的大或者最小的下標(biāo),一個(gè)用于存放每次循環(huán)中大值的下標(biāo)。在掌握了程序的基本思想之后,再進(jìn)行排序。找到大的下標(biāo)后賦給每次除非的那個(gè)大的下標(biāo)。找到之后判斷所假設(shè)的當(dāng)前值是否為此次循環(huán)的大值,如果不是,就交換大 與當(dāng)前的值,從而將數(shù)組以一定的順序排放,最后寫(xiě)一個(gè)循環(huán)將結(jié)果輸出。代碼不是很難,所以我就逐步講解了,只是附上代碼,不懂的可以給我留言,我給大家講解或者有什么不好的地方,我也好修正。
#includevoid main()//主函數(shù) { int a[10]; int i,j,w; printf("請(qǐng)輸入10個(gè)數(shù)字: \n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) { for(j=0;j<10;j++) if(a[i] 結(jié)果展示:
接下來(lái)是冒泡排序,這個(gè)是C語(yǔ)言中最常用的算法之一,因?yàn)檫@個(gè)比較容易理解,多數(shù)人在他們要進(jìn)行排序的時(shí)候首先使用的就是這個(gè)算法。這個(gè)算法比較容易理解。對(duì)于冒泡排序,主要采用的是相鄰數(shù)兩兩進(jìn)行比較的思想。如果后一個(gè)比前一個(gè)大或者小,則將其調(diào)換位置,直至所有的數(shù)都比較完。如果給定一個(gè)大小為n的數(shù)組,那么需要比較n-1趟,每一趟比較n-1-i次 ,i 表示上次循環(huán)中已經(jīng)比較完的下標(biāo)。寫(xiě)兩個(gè)循環(huán)判斷,如需交換則進(jìn)行交換,如果不需要交換則進(jìn)行下兩個(gè)數(shù)的比較,直到所有的數(shù)比較完。最后,用一個(gè)循環(huán)將排序完成后的數(shù)全部輸出。代碼如下:
#include#define N 10 void main() { int a[10]; int i,j,t; printf("請(qǐng)輸入10個(gè)數(shù)字: \n"); for(i=0;i<10;i++) scanf("%d",&a[i]); //使用兩層循環(huán) for(i=0;i 結(jié)果:
結(jié)論淺說(shuō):
對(duì)于選擇排序的分析是很簡(jiǎn)單的,輸入的規(guī)模由數(shù)組元素決定,基本操作是鍵值比較A[j]
冒泡排序就是相鄰兩個(gè)數(shù)相比較,大數(shù)就沉底(或者小數(shù)上浮的過(guò)程),總共進(jìn)行了n-1次比較和交換。上面的冒泡算法為了便于算法的實(shí)現(xiàn),所以考慮只使用一個(gè)一維數(shù)組來(lái)存放10個(gè)整型數(shù)據(jù)。排序過(guò)程中數(shù)據(jù)始終在這個(gè)數(shù)組中(原地操作,不占用額外的空間)。所以該算法的時(shí)間復(fù)雜度為O(n-1),空間復(fù)雜度為O(1)。
關(guān)于c語(yǔ)言中選擇排序和冒泡排序的用法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
本文名稱(chēng):c語(yǔ)言中選擇排序和冒泡排序的用法-創(chuàng)新互聯(lián)
本文URL:http://weahome.cn/article/djoehh.html