演算法(三) 氣泡排序演算法

2021-07-05 19:43:41 字數 930 閱讀 3479

將臨近的數字兩兩進行比較,按照從小到大或者從大到小的順序進行交換,這樣一趟過去後,最大或最小的數字被交換到了最後一位,然後再從頭開始進行兩兩比較交換,直到倒數第二位時結束。

設想被排序的陣列r[1..n]垂直豎立,將每個資料元素看作有重量的氣泡,根據輕氣泡不能在重氣泡之下的原則,從下往上掃瞄陣列r,凡掃瞄到違反本原則的輕氣泡,就使其向上」漂浮」(交換位置),如此反覆進行,直至最後任何兩個氣泡都是輕者在上,重者在下為止。

#include 

void swap(int *a, int *b);

int main()

; int i, j;

for (i = 0; i < 10; i++)}}

for (i = 0; i < 10; i++)

return0;}

void swap(int *a, int *b)

上面**中,如果裡面一層迴圈在某次掃瞄中沒有執行交換,則說明此時陣列已經全部有序列,無需再掃瞄了。因此,增加乙個標記flag,每次發生交換,就標記flag=1,如果某次迴圈完沒有標記,則說明已經完成排序。

#include 

void swap(int *a, int *b);

int main()

; int i, j;

int flag = 1; //設定標記變數

for (i = 0; i < 10 && flag; i++)}}

for (i = 0; i < 10; i++)

return0;}

void swap(int *a, int *b)

void bubblesort_3(int a, int

size)}}

}

排序演算法(三) 氣泡排序

氣泡排序 依次遍歷陣列 每次從頭遍歷陣列將最大的值移動到最右端 實現 package com.robert.paixu 氣泡排序 從小到大 author administrator public class bubblesortalgorithm bubblesort arrays display ...

演算法(三)氣泡排序法

排序法一。先說最容易理解的這種演算法。它的思路是逐個比較取最小的放在前面 public class demo1 d1.arithmetic1 values public void arithmetic1 int values system.out.println arrays.tostring va...

iOS演算法篇 三 氣泡排序演算法

氣泡排序 原理 冒泡顧名思義,就像氣泡從水底冒出一樣,它的排序方式是 研究了一下,它給人的感覺是像近視眼一樣,它只能看見自己和緊挨著自己的下乙個數字,所以它的排序方式也就是將比較元素和緊挨著自己的元素比較看是否交換位置,然後持續這個過程,比較的一直都是緊挨著的兩個元素。下面看 吧,再 裡面再詳細解釋...