首页 > 代码库 > 对冒泡排序的误解
对冒泡排序的误解
以前有关冒泡排序的程序都是使用错误的排序思路。冒泡法的基本思路是:相邻两个数比较(首先约定从小到大排序),小的排在前面,因此,经过第一轮的比较之后(任何相邻的两个数已经进行比较),最大的数字出现在最后面。然后再次从第一个元素和相邻的元素比较,选出第二大的元素,排在队伍的倒数第二位。
排序的基本思想如下:
//冒泡排序,从小到大的顺序排序
int sort(int list[],int n)
{
//一共进行n-1趟比较
for(int i=0;i<n-1;i++)
{
//在每趟中药进行(n-i)次两两比较
for(int j=0;j<n-i-1;j++)
{
//如果前面的元素比后面的大,交换两个数字的位置,使小数上浮
if(list[j]>list[j+1])
{
int temp=list[j];
list[j]=list[j+1];
list[j+1]=temp;
}
}
}
return 0;
}
对冒泡排序的误解