首页 > 代码库 > 对冒泡排序的误解

对冒泡排序的误解

以前有关冒泡排序的程序都是使用错误的排序思路。冒泡法的基本思路是:相邻两个数比较(首先约定从小到大排序),小的排在前面,因此,经过第一轮的比较之后(任何相邻的两个数已经进行比较),最大的数字出现在最后面。然后再次从第一个元素和相邻的元素比较,选出第二大的元素,排在队伍的倒数第二位。

排序的基本思想如下:

//冒泡排序,从小到大的顺序排序

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;

}

对冒泡排序的误解