冒泡排序是一种很简单的排序方法,思想主要是对于有n个数的数组,采用n-1趟遍历,每趟遍历选出一个最大值或者最小值放入到最终的位置,对于第i趟遍历,参与比较的元素个数是n-i个,其余i个是已经放入到最终位置的元素,这种算法采用了两层for循环。以下是源代码:
void bubble_sort(int a[],int n)
{
int i,j,temp;
for(i = 1 ;i<n;i++) //共有n-i趟循环
{
for(j = 0;j<n-i;j++) //对剩余的n-i个数进行排序
{
if(a[j]>a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}