使用bool變數的氣泡排序法

2021-08-21 15:09:42 字數 482 閱讀 4279

氣泡排序中的交換次數又稱為反序數或逆序數,可用於體現數列的錯亂程度

氣泡排序僅對陣列中相鄰元素進行比較和排序,讓陣列元素像水中的氣泡一樣逐漸上浮,進而達到排序的目的,複雜度數量級為o(n²)。

下面的**例項實現陣列的公升序排列。

#include#includeusing namespace std;

int bubblesort{

int s=0;

bool flag=1;

for(i=0;flag;i++){

flag=0;

for(int j=n-1;j>=i+1;j--){

if(a[j]其中i表示為排序部分的開頭元素,從陣列開頭向末尾移動。

j從陣列的末尾開始,減少到i+1結束,逐一對相鄰元素比較排序。

其中加入了bool變數flag避免了排序好的部分在進行氣泡排序,一定程度上減少了時間複雜度。

氣泡排序 氣泡排序法

冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...

排序 氣泡排序法

氣泡排序法,是最簡單的一種排序方法,從第乙個位置開始與相鄰位置比較,判斷是否需要交換位子。第一趟從第乙個位置開始,直到最後乙個位置,a n 1 確定最大 以公升序為例子 的數放在最後一位,a n 1 第二趟,繼續從第乙個位置開始,倒數第二位,a n 2 確定倒數第二大的數在倒數第二位a n 2 演算...

氣泡排序法

從小到大排序 int myarray new int 取長度最長的片語 冒泡法 for int j 1 jfor int i 0 i 如果 myarray i myarray i 1 則 myarray i 上浮一位 if myarray i myarray i 1 從大到小排序 int myarr...