算法之冒泡排序

1、算法描述

例如:6 2 5 1 8

第一轮

从第一个数开始,相邻两两比较,如果前一个小于后一个,就交换之,直到最后一个数,将最小的数移到数组的最后,至此完成第一轮。

6 2 5 1 8

6 5 2 1 8

6 5 2 1 8

6 5 2 8 1

第二轮

从第一个数开始,相邻两两比较,如果前一个小于后一个,就交换之,直到倒数第二个数,将次小的数移到数组的倒数第二位,至此完成第二轮。

6 5 2 8 1

6 5 2 8 1

6 5 8 2 1

第三轮

。。。。

2、代码实现

从大到小排序

void bubbleSort(int arg[])

{
     int len = strlen(arg);
     for(i=0;i<len;i++)
     {
         for(j=0;j<len-i;j++)
         {
             int temp;
             if (arg[j]<arg[j+1])
             {
                 temp=arg[j];
                 arg[j]=arg[j+1];
                 arg[j+1]=temp; 
             }
         }
     }
}

3、时间复杂度

o(n*n)

 

posted @ 2016-10-17 09:49  wywdahai  阅读(137)  评论(0编辑  收藏  举报