//方法一
#include<stdio.h>
void print(int *a, int n);
void tmp(int *a, int *b)
{
int t;
t = *a;
*a = *b;
*b = t;
}
void cmp(int *a, int *b)
{
if(*a > *b)
{
tmp(a, b);
}
}
int *bubble_sort(int *a, int n)
{
int i, j;
for( i = n - 1; i > 0; i-- ){
for( j = n; j > 0; j--){
cmp(&a[j-1], &a[j]);
}
print(a, 10);
}
return a;
}
void print(int *a, int n)
{
int i;
for( i = 0; i < n; i++){
printf("%d ", a[i]);
}
putchar('\n');
}
int main(int argc, char **argv)
{
int array[10] = { 10, 8, 3, 4, 6, 5, 7, 2, 9, 1};
print(array, 10);
int *a = bubble_sort(array, 10);
print(array, 10);
return 0;
} 1,1 顶端