冒泡排序,复杂度O(n^2),过程可形象地比作冒泡(小数上冒,大数下沉(从大到小排序)),也较为简单,实现如下:
#include <stdio.h>
#define MAX 100
int main()
{
int i, j, temp, n;
int a[MAX];
printf("Input n:\n");
scanf("%d",&n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
//sort, low->high
for(i = 0; i < n; i++){
for(j = 0; j < n - i - 1; j++){
if(a[j] > a[j + 1]){
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
//print
for(i = 0; i < n; i++)
printf("%d ", a[i]);
putchar('\n');
return 0;
}