氣泡排序的兩種方式

2021-08-17 05:43:33 字數 1297 閱讀 8987

氣泡排序的方式有兩種:

氣泡排序方法一:

將n[i]這個位置的數與它後面的數進行比較,如果n[i]>n[i+x],那麼說明n[i+x]更小,因此將n[i]和n[i+x]的數互換位置。

互換位置後,n[i]便是乙個更小的數。接著用新的n[i]與後面的數比較,可以連續得到更小的數,直到取得最小數。

如果i==0,那麼最小的數便排列到了序列的最前面n[0]的位置。

因為n[0]是最小的數,那麼接下來就要找到乙個第二小的數放置在n[1]的位置。

依次迴圈後,便得到乙個公升序序列。

**如下:

#include "stdafx.h"

#include using namespace std;

void swap(int n, int i, int j);

int main()

;for (int i = 0; i < 5; i++)}}

for (int i = 0; i < 5; i++)

cin.get();

return 0;

}void swap(int n, int i, int j)

氣泡排序演算法二:

將n[i]與n[i+1]進行比較,如果n[i]>n[i+1]為true,那麼交換這兩個數的位置。

現在n[i+1]是較大的那個數了。

接下來拿n[i+1]和n[i+2]進行比較,如果n[i+1]>n[i+2]為true,則重複上步驟。如果為false,那麼n[i+2]原本就是較大的數。

接下來拿n[i+2]再進行比較(無論前面是否交換數,最新的這個數始終是較大的。)。

因此,最後較大的數,就被交換到了陣列末尾。

兩種氣泡排序

泡泡往前冒 for int i 1 i score.length i 例如 for int i 1 i score.length i system.out.print 第 i 次排序的結果 for int j 0 j score.length j system.out.println for int...

氣泡排序及兩種優化方式

定義 每一趟依次比較相鄰的兩個數,將小數放在前面,大數放在後面,直到一趟只剩下乙個元素。時間複雜度 o n 2 氣泡排序是最常用的小型資料排序方式,下面是用c語言實現的,及其兩種優化方式。第一種優化方式是設定乙個標記位來標記是否發生了交換,如果沒有發生交換就提前結束 第二種優化方式是記錄最後發生交換...

陣列的兩種排序方式 選擇排序和氣泡排序

原理 在陣列中選擇出最小 大 的乙個數,與第乙個位置的數進行交換位置 int arr system.out.println 排序前 arrays.tostring arr 使用兩層迴圈遍歷陣列,將前一位數值與後面以為數值進行比較,如果前一位數值要大於後一位數值,則交換他們的位置。故而可以實現排序 f...