#include <stdio.h>
#include <stdlib.h>
void bubblesort(int arr[], int n)
{
int i,j;
int tmp;
for(i = 0; i < n; i++)
{
for(j = i + 1; j < n; j++)
{
if(arr[i] < arr[j])
{
tmp = arr[j];
arr[j] = arr[i];
arr[i] = tmp;
}
}
}
}
int main()
{
const int n = 6;
int i,j;
int tmp;
int arr[6] = {5, 4, 2, 6, 9, 3};
printf("排序前:\t");
for(i = 0; i < 6; i++)
{
printf("%d\t",arr[i]);
}
printf("\n");
bubblesort(arr,n);
printf("排序前:\t");
for(i = 0; i < 6; i++)
{
printf("%d\t",arr[i]);
}
printf("\n");
return 0;
}
使用数组名传递参数。
我之前对冒泡排序作为一种算法的地位感到怀疑,因为它的效率那么低。看了排序算法入门之冒泡排序这篇文章才想到,它的确可以算作一种算法。如果按从小到大的顺序,则最直观的就是找最小的,再找次小的,再找第三小的……,但冒泡给了另一种直观的可能。