C 氣泡排序 氣泡排序的優化

2021-07-09 08:23:28 字數 1040 閱讀 6992

本文包含氣泡排序的三種實現方式

分別為氣泡排序初級版,公升級版,終級版(自己起的名字)

使用時只要使用終極版就本以了,終級版為公升級版的優化版本

至於初極版和公升級版只是為了幫助理解

氣泡排序的時間複雜度為o(n²)

#include #include #include #include #include #include #include #include #include #include //標頭檔案引用的較多,有一些和本程式無關

using namespace std;

//取隨機數

int random(int min = 1, int max = 100);

//列印陣列

void coutarr(int arr);

//氣泡排序初級版

void bubblesort0(int arr);

//氣泡排序公升級版

void bubblesort1(int arr);

//氣泡排序終級版(避免已經有序的情況下做無意義的迴圈比較)

void bubblesort2(int arr);

//自動生成等排序陣列的個數

const int num = 10;

int main(int argc, char *argv)

//取隨機數

int random(int min, int max)

//列印陣列

void coutarr(int arr)

//氣泡排序初級版

void bubblesort0(int arr)

//氣泡排序公升級版

void bubblesort1(int arr)

//氣泡排序終級版(避免已經有序的情況下做無意義的迴圈比較)

void bubblesort2(int arr)

} }}

執行結果:

氣泡排序 氣泡排序演算法優化

常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...

氣泡排序以及氣泡排序的優化

很早接觸過氣泡排序法,但一直沒有真正的理解,只是為了記住而學習,今天又重新看了一下,其實氣泡排序法第一次排序會把最大的冒到最上面,第二次會把次大的泡冒到最大的後面,一次類推 另外在排序的次數上會逐漸減少。看 void bubble sort int a,int n 其實還可以優化一下,當發現沒有進行...

氣泡排序 優化後的氣泡排序

氣泡排序法 演算法原理 依次比較相鄰兩個元素的大小,若後面的比前面的小,則交換兩個元素的位置 對每一對相鄰元素作同樣的工作,從第一對到最後一對。進行一輪比較交換下來,最後的元素就會是最小的數了,這個數就不用參與後面的比較操作了 思路 遍歷陣列,對陣列中相鄰的兩個元素進行比較,如果需要公升序,前乙個資...