基本知識 01 氣泡排序和選擇排序

2022-05-02 12:36:09 字數 2660 閱讀 9489

氣泡排序

基本思路: 氣泡排序會利用雙層迴圈對需要排序的數列進行若干次遍歷,每次遍歷都會從前往後依次的比較相鄰兩個數的大小;如果前者比後者大,則交換它們的位置;這樣,經過第一輪比較排序後便可把最大(或者最小)的元素排好,然後再用相同的方法把剩下的元素逐個進行比較,就得到了所要的排序。

下面直接來看看具體的**:

1

/**2

* 演示氣泡排序3*

@author

administrator4*/

5public

class

bubblesort 19}

20}21}

2223

/**24

* 第一種氣泡排序改進:利用乙個flag標記

25*

@param

array

26*/

27public

void bubblesort1_1(int

array)39}

40if(flag == 0)43}

44}4546

/**47

* 第二種氣泡排序:每輪遍歷將要排序的元素的放置在前面

48*

@param

array

49*/

50public

void bubblesort2(int

array)58}

59}60}

6162

/**63

* 對陣列中的兩個位置上的值進行互動

64*

@param

array

65*

@param

aindex

66*

@param

bindex

67*/

68private

void swap(int array,int aindex,int

bindex)

7374

public

static

void

main(string args)

8283 bubblesort bubblesort = new

bubblesort();

8485 system.out.println("");

86 system.out.println("---------------------------");

87 bubblesort.bubblesort1(num);//

第一種排序方式

88for(int

n : num)

9192 system.out.println("");

93 system.out.println("---------------------------");

94 bubblesort.bubblesort1_1(num);//

第一種排序方式

95for(int

n : num)

9899

100 system.out.println("");

101 system.out.println("---------------------------");

102 bubblesort.bubblesort2(num);//

第二種排序方式

103for(int

n : num)

106}

107 }

view code

選擇排序(對氣泡排序的一種改進,減少元素的交換次數)

基本思路:第一輪遍歷從所有元素中選擇乙個最小元素a[i]放在a[0](即讓最小元素a[i]與a[0]交換)

第二輪是從a[1]開始到最後元素中選擇乙個最小的元素,放在a[1]中

...依次類推

看看具體的**實現:

1

/**2

* 演示選擇排序演算法3*

@author

administrator4*

5*/6public

class

selectsort 17}

18swap(array,min,i);19}

20}2122

private

void swap(int array,int aindex,int

bindex)

2728

public

static

void

main(string args)

3637 selectsort selectsort = new

selectsort();

3839 system.out.println("");

40 system.out.println("---------------------------");

41 selectsort.selectsort(num);//

第一種排序方式

42for(int

n : num)45}

46 }

view code

基本排序方式(一)氣泡排序和選擇排序

陣列a 外層第一次迴圈 內層第一次迴圈 34 112,57,1,90,123,23 內層第二次迴圈 34,57,112,1,90,123,23 內層第三次迴圈 34,57,1,112,90,123,23 內層最後一次迴圈 34,57,1,90,112,23,123 外層第二次迴圈 內層第一次迴圈 3...

排序 氣泡排序和選擇排序

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

選擇排序和氣泡排序

選擇排序和氣泡排序 演算法 蠻力法選擇排序,第一次掃瞄整個陣列,找到最小元素,然後和第乙個元素交換。第二次從第二個元素開始掃瞄陣列,找到剩下的元素中最小的與第二個元素交換位置,直到最後。89 45 68 90 29 3417 17 45 68 902934 89 17 29 68 90 453489...