博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c冒泡排序
阅读量:6824 次
发布时间:2019-06-26

本文共 754 字,大约阅读时间需要 2 分钟。

外层循环需要循环和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

你可能感兴趣的文章
将毫秒格式化为分钟和秒 ,并补0
查看>>
Java接口多线程并发测试 (二)
查看>>
【WPF】ListBox嵌套与事件冒泡
查看>>
【WPF】CommandParameter解决多传参问题
查看>>
Java实现多线程的四种实现方式
查看>>
命运多厄的830,准备买彩票的我[Teaks]
查看>>
JavaScript对象也玩序列化和反序列化[转]
查看>>
ArcGIS Engine Runtime 制作安装包
查看>>
如何设置xp系统开机(关机)启动声音以及画面
查看>>
Android学习笔记进阶十一图片动画播放(AnimationDrawable)
查看>>
简单工厂模式(C++)
查看>>
WinForm DataGridView分页功能
查看>>
正则表达式-字符类减法
查看>>
vs2008添加Ajax vs2008 Ajax配置
查看>>
UITableViewController与UIViewController中使用UITableView
查看>>
readonly vs. const [C#]
查看>>
温习数据结构之图的邻接矩阵的相关操作2011.10.22
查看>>
session cookie 原理2
查看>>
nginx下禁止访问robots.txt的设置方法
查看>>
常用的140个Windows XP设置 [转]
查看>>