如何在Objective-C中对可以交换两个元素的数组进行排序

特日兰

我想在数组下面排序,我只能交换两个元素。

例子 :

NSArray *arr = @[@10, @20, @60, @40, @50, @30];  
// 30 and 60 are swapped
Output: 10, 20, 30, 40, 50, 60

在 Objective-C 或 Swift 中寻找答案。

苏尼尔·塔格

使用下面的exchangeObject函数是正确的方法。

NSArray *arr = @[@10, @20, @60, @40, @50, @30];
    int n = (int)arr.count;

    NSMutableArray *arrm = [arr mutableCopy];

        for (int i = n-1; i > 0; i--)
        {
            // Check if arrm[i] is not in order
            if (arrm[i] < arrm[i-1])
            {
                // Find the other element to be
                // swapped with arr[i]
                int j = i-1;
                while (j>=0 && arrm[i] < arrm[j])
                    j--;

                // Swap the pair
                [arrm exchangeObjectAtIndex:i withObjectAtIndex:j+1];
                break;
            }
        }

    NSLog(@"Given array is :%@",arr);
    NSLog(@"Sorted array is :%@",arrm);

祝你好运!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Objective-C中对包含两个值的数组进行排序?

来自分类Dev

如何在Python中基于两个元素对列表进行排序?

来自分类Dev

我们如何交换数组中的两个元素?

来自分类Dev

如何在数组中追加两个元素?

来自分类Dev

如何在不连续重复 Javascript 中的两个特定属性的情况下对对象数组进行排序?

来自分类Dev

如何基于python中的两个条件对数组进行排序

来自分类Dev

如何在Objective C中存储块?

来自分类Dev

如何在Java中交换两个数组对象

来自分类Dev

如何在不使用boost或创建模板的情况下在c ++中同时对两个向量进行排序?

来自分类Dev

如何在Tmux中交换两个窗格?

来自分类Dev

如何在iOS中交换两个UIWebView

来自分类Dev

如何在bash中交换两个命令?

来自分类Dev

如何在Java中交换两个对象?

来自分类Dev

如何在 Objective C 中使用 CallKit

来自分类Dev

如何在Objective-C中的数组内部声明数组?

来自分类Dev

如何在Objective C中将日期与日期数组进行比较/排序

来自分类Dev

如何在C中的2D数组中显示两个相同列的各个元素

来自分类Dev

如何在Python3中使用两个条件对对象进行排序?

来自分类Dev

如何在Objective-C中比较具有很多属性的两个对象

来自分类Dev

给定其不透明类型和数组,如何在C ++ 03中交换两个__m128i变量?

来自分类Dev

如何在PHP中从两个相关的关联数组中打印元素和值

来自分类Dev

如何在未排序的数组中找到一个未排序的元素?(在C中)

来自分类Dev

如何在Objective-C中计算多维数组中的元素数

来自分类Dev

如何在Objective-C中对数字数组进行编码和解码?

来自分类Dev

如何在猫鼬中搜索带有两个元素的对象数组

来自分类Dev

如何在javascript中连接两个不同大小的数组的元素?

来自分类Dev

如何在angularjs中使用json在单个tr中打印两个不同的数组元素

来自分类Dev

如何使用CSS交换两个元素?

来自分类Dev

如何在Objective-C中进行深拷贝?

Related 相关文章

  1. 1

    如何在Objective-C中对包含两个值的数组进行排序?

  2. 2

    如何在Python中基于两个元素对列表进行排序?

  3. 3

    我们如何交换数组中的两个元素?

  4. 4

    如何在数组中追加两个元素?

  5. 5

    如何在不连续重复 Javascript 中的两个特定属性的情况下对对象数组进行排序?

  6. 6

    如何基于python中的两个条件对数组进行排序

  7. 7

    如何在Objective C中存储块?

  8. 8

    如何在Java中交换两个数组对象

  9. 9

    如何在不使用boost或创建模板的情况下在c ++中同时对两个向量进行排序?

  10. 10

    如何在Tmux中交换两个窗格?

  11. 11

    如何在iOS中交换两个UIWebView

  12. 12

    如何在bash中交换两个命令?

  13. 13

    如何在Java中交换两个对象?

  14. 14

    如何在 Objective C 中使用 CallKit

  15. 15

    如何在Objective-C中的数组内部声明数组?

  16. 16

    如何在Objective C中将日期与日期数组进行比较/排序

  17. 17

    如何在C中的2D数组中显示两个相同列的各个元素

  18. 18

    如何在Python3中使用两个条件对对象进行排序?

  19. 19

    如何在Objective-C中比较具有很多属性的两个对象

  20. 20

    给定其不透明类型和数组,如何在C ++ 03中交换两个__m128i变量?

  21. 21

    如何在PHP中从两个相关的关联数组中打印元素和值

  22. 22

    如何在未排序的数组中找到一个未排序的元素?(在C中)

  23. 23

    如何在Objective-C中计算多维数组中的元素数

  24. 24

    如何在Objective-C中对数字数组进行编码和解码?

  25. 25

    如何在猫鼬中搜索带有两个元素的对象数组

  26. 26

    如何在javascript中连接两个不同大小的数组的元素?

  27. 27

    如何在angularjs中使用json在单个tr中打印两个不同的数组元素

  28. 28

    如何使用CSS交换两个元素?

  29. 29

    如何在Objective-C中进行深拷贝?

热门标签

归档