簡單的排序,氣泡排序和選擇排序

2021-09-25 16:19:49 字數 588 閱讀 4844

氣泡排序

每次比較相鄰的兩個數,如果前面的比後面的大,則交換這兩個數(這裡假定按照從小到大排序),以此進行,一共需要比較n-1次,這樣每次就能把最大的數放到最後面,如下圖

**的關鍵點是需要有兩個巢狀迴圈,外層迴圈控制的是排序的次數,內層迴圈控制的是每次排序時數的比較

void bubblesort(int arr,int n)

其中swap函式為

void swap(int &a,int &b)  //注意用的是引用,呼叫的是實參不是形參

選擇排序

每次遍歷陣列,找到最小的數放到最前面,也是兩個迴圈。每次迴圈需要找到乙個基準index,遍歷剩下的數與之比較,使得index指向陣列中最小的數。需要注意的是,第一次遍歷完找到最小的數放在第一位後,第二次從第二位開始往後遍歷。

void selectsort(int arr, int n)

}

簡單選擇排序和氣泡排序

關於排序,氣泡排序和簡單選擇排序應該是最簡單的排序了 排序過程 從小到大排序比較第乙個與第二個數,若a 0 a 1 則交換 然後比較第二個數和第三個數 以此類推,直到第n 1個數和第n 個數比較為止 第一趟氣泡排序結束 陣列中最大的數被排在了最後 對前n 1個個數進行氣泡排序,結果是次大的數排在第n...

排序 氣泡排序和選擇排序

目錄 氣泡排序 氣泡排序原理圖 demo 執行 選擇排序 氣泡排序原理圖 demo 執行 說明 include include using namespace std name 氣泡排序法 number 傳入陣列 length 陣列長度 setw 需要匯入 include ps 這是乙個lib.h的...

排序之路 氣泡排序和簡單選擇排序

以前上大學,沒有好好跟老師一起學習教材裡晦澀難懂的那些演算法。如果上天在給我一次機會,我一定。屁話,言歸正傳。氣泡排序 氣泡排序,這個名字就能想象到開水沸騰的場景,泡泡從下到上冒起,實則該排序也是有這個 冒泡 的過程。我們來看乙個陣列 arr 2,0,1,9,12,31,8,30 利用氣泡排序實現從...