冒泡排序估计是所有面试题里面出现概率最高的一道基础题,小弟献丑的再此贴出来做个纪念:
#include <stdio.h>
int main(void) {
int num[] = {4,1,2,7,3,9,6,5,8};
int i, j;
int temp = 0, cur = 0;
for (j = 9; j > 0; j--) {
for (i = 0; i < j - 1; i++) {
if (num[i] > num[i + 1]) {
temp = num[i];
num[i] = num[i + 1];
num[i + 1] = temp;
}
}
}
for (; cur < 9; cur ++) {
printf("%d, ", num[cur]);
}
printf("\n");
return 0;
}
运行结果如下:
cheny.le@cheny-ThinkPad-T420:~$ gcc bubble_sort.c
cheny.le@cheny-ThinkPad-T420:~$ ./a.out
1, 2, 3, 4, 5, 6, 7, 8, 9,
需要注意的是边界控制,其他的就没什么了。