美文网首页
一个简单的循环排序

一个简单的循环排序

作者: iOS_Yang | 来源:发表于2017-08-17 17:54 被阅读0次

一个简单的循环排序,自己记录一下,怕自己忘记,有初学的可以看下,以后会重写吧。。。。

NSMutableArray *array = [NSMutableArray arrayWithObjects:@11,@1,@23,@13,@45,@24,@16,@19,@54,@27,@6, nil];
    //do..while循环是否继续执行判断条件
    BOOL finish = NO;
    //记录需要循环下标的最大值
    NSInteger maxIndex = array.count;

    do {
        //当完成一次排序后,最大值就会被确定,并移至最后,所以再次循环可以不用和最后一位比较,即最大下标减去1
        maxIndex -= 1;
        //每次进来都要把判断条件取反,不然会一直循环下去
        finish = NO;
        //去第一个数和下一位数进行比较,当条件成立,就将两个数位置对调
        for (int i = 0; i < maxIndex; i++) {
            NSInteger leftNum = [array[i] integerValue];
            NSInteger rightNum = [array[i+1] integerValue];
        
            if (leftNum > rightNum) {
                array[i+1] = @(leftNum);
                array[i] = @(rightNum);
                finish = YES;
            
            }
        }
    } while (finish);

相关文章

  • 一个简单的循环排序

    一个简单的循环排序,自己记录一下,怕自己忘记,有初学的可以看下,以后会重写吧。。。。

  • top k

    解法一 最简单的,多次循环 解法二:快速排序

  • 冒泡排序 php

    冒泡排序是比较简单的一种排序算法时间复杂度 O(n²) 一、排序原理 核心是: 双层循环,逐个对比 1、第一层循环...

  • 算法:基础排序

    1、冒泡排序 2、选择排序思路:遍历2层循环,外层循环+内层循环找出一个最小值与外层循环交换位置。 3、插入排序思...

  • 关于冒泡排序的简单优化

    一说到冒泡排序,学过C语言的人都不会陌生.冒泡排序一个简单易懂的排序方法,使我们很好的掌握了两层for循环的用法....

  • 常见的几种排序算法(c++)

    一、冒泡排序 1、算法思想 冒泡排序是一种简单的排序算法,通过循环遍历,将临近的两个元素进行比较,满足排序规则时,...

  • iOS排序算法

    冒泡排序:两两作比较,最大(或者最小)的值放在最后 简单选择排序-通过索引 选择排序:每次循环遍历选择最小(或者最...

  • 十大排序算法总结

    简单排序 冒泡排序:循环遍历左右比较,较小者左移或较大者后移; 选择排序:在未排序序列中找到最小者元素一次放到已排...

  • java数据结构与算法 - 排序

    冒泡排序 选择排序 选择排序的时间复杂度分析:选择排序使用了双层for循环,其中外层循环完成了数据交换,内层循环完...

  • ios oc用递归实现冒泡算法

    排序思路: 1 子问题,一趟排序把最大的数排到末尾 2 外层循环控制排序次数,内层循环控制比较次数。外层循环排序次...

网友评论

      本文标题:一个简单的循环排序

      本文链接:https://www.haomeiwen.com/subject/oeenrxtx.html