C語言排序 C語言冒泡排序算法(Bubble Sort)
操作方法
(01)冒泡排序原理:設要排序的數據記錄到一個數組中,把關鍵字較小的看成“較輕”的氣泡,所以就應該上浮。從底部(數組下標較大的一端)開始,反覆的從下向上掃描數組。進行每一遍掃描時,依次比較“相鄰”的兩個數據,如果“較輕”的氣泡在下面,就要進行交換,把它們顛倒過來。(圖片取自互聯網)
(02)具體實現過程:第一步 輸入數據你可以直接將你所需要的數據存入數組,如int a[5] = {84,83,88,87,61};也可以通過循環輸入for(i = 0 ; i< n ;i++){scanf("%d",&a[i]);}來實現數據輸入數組;
(03)具體實現過程:第二步 寫循環冒泡排序是從最低部掃描(數組下標大的一端);所以內部循環應該從數組下標較大的一方開始 for(j = n - 1 ; j > i ; j--)內部循環確定以後,寫外部循環;for(i = 0; i < n ; i++)for(j = n - 1 ; j > i ; j--) // j>i的是掃描第一遍以後,下標最小的一位數,已經變成最大的一位數
(04)具體實現過程:第二步 寫交換if(a[j - 1] < a[j]){temp = a[j - 1];a[j - 1]=a[j];a[j]=temp;}
(05)C語言實現:#include <stdio.h>int main(){int a[5] = {84,83,88,87,61};int i,j;int temp;printf("按從大到小排序!n");int n = 5 ;//數組最大的下標for(i = 0; i < n ; i++)for(j = n - 1 ; j > i ; j--){if(a[j - 1] < a[j]){temp = a[j - 1];a[j - 1]=a[j];a[j]=temp;}}for(i = 0 ; i < n ; i++){printf("%d ",a[i]);}return 0;}
(06)運行程序,成功截圖如下;
(07)氣泡排序的時間複雜度爲0(n^2);
特別提示
個人,如有不對,請多多指教。如有侵犯,請於我聯繫,立馬解決。僅供參考使用,謝謝!
-
windows7 內部版本7601,此windows副本不是正版
有時候我們在用電腦的過程中,突然會彈出來“windows7內部版本7601,此windows副本不是正版”的提示,這是怎麼回事呢?今天來給大家解答一下相關的問題。激活狀態下的修復(01)在電腦的桌面上找到“此電腦”,然後右擊選擇“屬性”點擊進去,在底部會看到一個系統是否被激活...
-
win10開始菜單任務欄點擊無反應的解決辦法
點擊win10系統的開始菜單沒反應,點擊任務欄中的一些功能圖標也沒反應,可能是explorer進程出錯導致的。遇到這樣的問題我們想到的方法就是重啓電腦,其實除了重啓電腦,還有更快的解決方法,就是重啓Windows資源管理器。接下來我們一起來看看電腦資源管理器怎麼重啓吧。...
-
如何查看網絡計算機和設備?
現在我們的電腦,辦公的基本都是與單位局域網相連的,這是爲了方便公司內部數據的傳輸與查詢。因此在工作的網絡中除了知道自己的電腦外,也想知道其它的電腦工作狀態。那麼如何查看呢?現在和大家分享一下實際操作。操作方法(01)點擊電腦桌面左下角的開始圖標,進入電腦主...
-
參考文獻在文中怎麼標註(word)
(尾註添加方法)在文章中標註參考文獻,還在一個一個慢慢敲嗎?看看用word怎麼快速實現吧。這裏以word2003爲例。操作方法(01)光標移到要加入參考文獻標註的地方(02)菜單中“插入”——“引用”——“腳註和尾註”(03)如圖設置(04)確定後在該處就插入了一個上標“1”,而光標...