c冒泡排序

外层循环需要循环和len一样的次数 

//定义一个函数,该函数返回NSString

void bubbleSort(int nums[],unsigned long len)

{

    //控制本轮循环是否发生过交换

    //如果没有发生交换,那么说明该数组已经处于有序状态,可以提前结束排序

    

    BOOL hasSwap = YES;

    for (int i = 0; i<len && hasSwap; i++) {

        //将hasSwap设为NO

        hasSwap = NO;

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

            //如果nums[j]大于nums[j+1],交换他们

            if (nums[j]>nums[j+1])

            {

                int tmp = nums[j];

                nums[j] = nums[j+1];

                nums[j+1] = tmp;

                //本轮循环发生交换,将hasSwap设为yes

                hasSwap = YES;

            }

        }

    }

}

 

 

 

int main(int argc, const char * argv[])

{

 

    @autoreleasepool {

        

        int nums[] = {12,2,23,15,-20,11};

        

        

        int len = sizeof(nums)/sizeof(nums[0]);

        

        bubbleSort(nums, len);

        for (int i = 0; i<len; i++) {

            printf("%d\n",nums[i]);

        }

    

        // insert code here...

        NSLog(@"Hello, World!");

        

    }

    return 0;

}

转载于:https://www.cnblogs.com/keyan1102/p/3967232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值