冒泡排序是我们在排序中比较常见的一种排序,它的思路简单,但应用却十分广泛,今天我们就来看看它的代码以及它是如何实现的。
以下是代码
# include <stdio.h>
void sort(int * a, int len)
{
int i, j, t;
for (i=0; i<len-1; ++i)
{
for (j=0; j<len-1-i; ++j)
{
if (a[j] > a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
}
int main(void)
{
int a[6] = {10, 2, 8, -8, 11, 0};
int i = 0;
sort(a,6);
for (i=0; i<6; ++i)
{
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
这里利用了多重嵌套的for循环,最里面还有个if循环。看起来十分的恐怖,但只要读者从第一个for开始,一步一步的去试,只要搞清楚了第一遍是如何运行的,后面的也就自然了解了。