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);
特別提示
個人,如有不對,請多多指教。如有侵犯,請於我聯繫,立馬解決。僅供參考使用,謝謝!
-
不用U盤,安裝純淨版Windows系統
安裝系統的方法有好多種,U盤製作啓動盤安裝時,會自帶一些軟件瀏覽器啊、小遊戲、桌面壁紙什麼,萬能驅動的,裝完後又要一個個卸載,但是註冊列表又沒法清理乾淨。如何安裝純淨版的Windows系統,讓我們一起跟着步驟來實現吧!操作方法(01)在搜狗瀏覽器中搜尋:MSDN,選擇官方網站...
-
cad中怎樣畫箭頭
操作方法(01)我們在cad裏輸入快速鍵“PL”(多段線),然後按空格鍵或回車鍵確定,確定後單擊鼠標左鍵確定箭頭第一個點,然後拖動鼠標確定箭頭直線段的第二個點。(02)完成箭頭直線段的繪製後我們開始畫箭頭部位,接着上面的操作輸入“w”,輸入箭頭起點寬度,我們輸入“5”(如果箭...
-
國內動態PPTP,撥號ADSL教程!
電腦修改IP位址教程:一般情況下供應商都會提供客戶端直接連接,簡單易懂如果想用ADSL撥號修改:win系統操作如下1、右鍵單擊“網上鄰居”選擇“屬性”,開啟網絡連接屬性。2、在右側的“網絡任務”欄中點擊“創建一個新的連接。3、開啟新建連接嚮導,點“下一步”。...
-
windows7 內部版本7601,此windows副本不是正版
有時候我們在用電腦的過程中,突然會彈出來“windows7內部版本7601,此windows副本不是正版”的提示,這是怎麼回事呢?今天來給大家解答一下相關的問題。激活狀態下的修復(01)在電腦的桌面上找到“此電腦”,然後右擊選擇“屬性”點擊進去,在底部會看到一個系統是否被激活...