基本排序之冒泡排序

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

        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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值