這篇文章主要講解了“C語言的冒泡排序方法怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C語言的冒泡排序方法怎么使用”吧!
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),詔安企業(yè)網(wǎng)站建設(shè),詔安品牌網(wǎng)站建設(shè),網(wǎng)站定制,詔安網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,詔安網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
題目:用冒泡發(fā)對任意輸入的10個數(shù)由小到大進行排序。
一、算法原理:(摘自百度百科)
冒泡排序算法的運作如下:(從后往前)
1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
2、對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點,最后的元素應(yīng)該會是最大的數(shù)。
3、針對所有的元素重復(fù)以上的步驟,除了最后一個。
4、持續(xù)每次對越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。
二、算法分析:
冒泡排序總的平均時間復(fù)雜度為O(n^2)
三、算法實現(xiàn):
1、C語言代碼:
/*第十天、冒泡排序*/#include#include /*Bubble_Sort函數(shù)聲明*/int* Bubble_Sort(int* pDataArray, int iDataNum);/*主函數(shù)*/void main(void) {int i,a[10];int *p; printf("請輸入10個數(shù):\n");for(i = 0;i < 10;i++) scanf("%d",&a[i]); Bubble_Sort(a,10); printf("排序后的順序是:\n");for(i = 0;i < 10;i++) printf("%5d",a[i]); printf("\n"); system("pause"); }/********************************** *函數(shù)名稱:BubbleSort * *參數(shù)說明:pDataArray 無序數(shù)組 * * iDataNum為無序數(shù)據(jù)個數(shù) * *說明: 冒泡排序 * ***********************************/ int* Bubble_Sort(int* pDataArray, int iDataNum) { int i,j,temp;for (i = 0; i < iDataNum - 1; i++) //變量i代表比較的趟數(shù)for (j = 0; j < iDataNum - i - 1; j++) //變量j代表每趟兩兩比比較的次數(shù) if (pDataArray[j] > pDataArray[j + 1]) { temp = pDataArray[j + 1]; pDataArray[j + 1] = pDataArray[i]; //利用中間變量實現(xiàn)兩值互換pDataArray[i] = temp; }return pDataArray; //返回數(shù)組指針}
2、結(jié)果顯示:
感謝各位的閱讀,以上就是“C語言的冒泡排序方法怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C語言的冒泡排序方法怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!