一,冒泡排序介紹及原理
基本概念:依次比較相鄰的兩個數,大的數往後放,小的數往前面放。
原理介紹:
二,冒泡排序的C語言實現
根據上圖的原理,我們編寫C語言的冒泡排序實現
# include <stdio.h>
// 排序函數
void sort(int * p,int len)
{
for(int i=0;i<len;i++)
{
// 第二層循環,隨著外層循環次數的遞增是遞減的,因為排序一次,就已經把大的數放到後面了,就不需要再次排它了
for(int j=0;j<len-i-1;j++)
{
if(p[j]>p[j+1])
{
int temp = p[j];
p[j] = p[j+1];
p[j+1] = temp;
}
}
}
}
// 輸出函數
void console(int * p,int len)
{
for(int i=0;i<len;i++)
{
printf("%d ",p[i]);
}
printf("\n");
}
int main(void)
{
// 要排序的數組
int arr[7] = {6,9,8,3,4,1,2};
// 調用排序函數
sort(arr,7);
// 輸出排序結果
console(arr,7);
return 0;
}