基本排序之冒泡排序

来源:互联网 发布:js屏蔽鼠标右键 编辑:程序博客网 时间:2024/06/05 07:13

      今天就先从冒泡排序开始吧,没什么难的,仅供菜鸟参考。

        void bub_sort(u32 *array, u32 len)

        {

                 u32  i = 0, j = 0,flag = 0;

                 for(i=1;i<len;i++) {                      /* array[0]存放临时变量 */

                     for(j=1;j<=len-i;j++){

                           if(array[j]>array[j+1]){

                                     flag = 1;

                                     array[0]= array[j];

                                     array[j] = array[j+1];

                                     array[j+1] = array[0];                        

                            }//if

                        }//for j

                        if(flag == 0)                             /*排了一遍,没有交换数据,说明本来数组就是有序的,直接退出*/

                                break;

                  }//for i

                  return ;

        }


       添加flag主要是为了在数组本来就是有序的情况下,可以使排序复杂度降为O(n);

0 0
原创粉丝点击