八大排序演算法 氣泡排序

2021-07-04 02:29:04 字數 1118 閱讀 6063

在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即:每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。

#include

#include

//常規氣泡排序

void bubblesort(int r,int n) }}

} //改進後的氣泡排序,新增乙個flag

void bubble_1(int r,int n) }}

}//改進後的氣泡排序,雙向查詢

void bubble_2(int r,int n)

}high--; //修改high前移一位

for(i=high;i>low;i--)

} low++; //修改low後移一位

}}//列印

void print(int r,int n)

printf("\n");

}int main(),r1[10],r2[10];

int i;

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

printf("r排序前:\n");

print(r,10);

printf("常規氣泡排序:\n");

bubblesort(r,10);//常規冒泡

print(r,10);

printf("\nr1排序前:\n");

print(r1,10);

printf("新增了flag的氣泡排序:\n");

bubble_1(r1,10);//新增flag

print(r1,10);

printf("\nr2排序前:\n");

print(r2,10);

printf("雙向查詢的氣泡排序:\n");

bubble_2(r2,10); //雙向查詢

八大排序演算法 氣泡排序

氣泡排序是c語言中演算法的簡單實現 什麼是冒泡 他重複的走訪要排序的序列,一次比較倆個元素,如果順序錯誤就交換,知道沒有必要在交換就完成排序。例子 原序列 5 3 9 6 8 2 7 第一趟 3 5 6 8 2 7 9 第二趟 3 5 6 2 7 8 9 第三趟 3 5 2 6 7 8 9 第四趟 ...

八大排序 氣泡排序

原理 每次比較兩個數值,然後將數值大的交換到右邊。本人理解 迴圈陣列長度的次數,每次迴圈,都會將當前剩下的,還未排好序的數值中最大的值,放到當前未排好序的數值的最右邊,即下標為 陣列的長度 當前迴圈的次數 當前迴圈的次數 i 1 下標是由0開始,所以下標值要加1才等於迴圈次數 注釋 減當前迴圈的次數...

八大排序演算法之氣泡排序

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。def bubble sort l...