冒泡排序
1.冒泡排序的算法原理
a) 從第一隊兩個相鄰的元素開始,比較相鄰的元素,如果第一個比第二個大,就将第一個與第二個交換;然後比較第二個和第三,以此類推.....
b) 對數組内的每一對相鄰元素進行對比,直到結尾的最後一對,到此比較完以後最後一個元素應該是數組内最大的元素
c) 針對以上的所有元素進行如上2步,除了最後一個元素
d) 然後持續對越來越少的元素重複上面的步驟,直到整個排序的完成。
2.實作代碼
#include<stdio.h>
int bubble_sort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n;i++){//每一輪都把那一輪中最大的元素放在每一輪的最後一個位置
for(j=0;j<n-i;j++){ //對每對相鄰的元素進行比較、排序
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
return 0;
}
int main()
{
int i;
int a[6]={2,1,4,3,6,5};
bubble_sort(a,6);
for(i=0;i<6;i++){
printf("%d ",a[i]);
}