`

[IOS]比较类内元素后重新排序

    博客分类:
  • IOS
阅读更多
-(NSArray *)sortedDevicesByStrength:(NSMutableArray*)devices{

    NSArray<HwLanDevice*> *sortedArray = [devices sortedArrayUsingComparator:^(id obj1,id obj2){
        long val1 = ((HwLanDevice*)obj1).powerLevel;
        long val2 = ((HwLanDevice*)obj2).powerLevel;
        
        NSLog(@"%lu~%lu",val1,val2);
        //升序,假如需要降序的话,只需要修改下面的逻辑
        if (val1 < val2)
        {
            return NSOrderedAscending;
            
        }else{
            return NSOrderedDescending;
            
        }
    }];

    return sortedArray;
}

 

参考:

1.https://www.cnblogs.com/hello-LJ/p/4031471.html

2.http://blog.csdn.net/zfx5130/article/details/42433283

分享到:
评论

相关推荐

    iOS冒泡排序

    冒泡排序是一种基础且经典的排序算法,它的基本思想是通过不断地交换相邻的未排序元素,使得每一趟排序后,最大(或最小)的元素“浮”到数组的一端,就像水底下的气泡逐渐上浮一样。在iOS开发中,理解并能熟练应用...

    iOS插入排序

    首先,我们可以将一个无序的数组想象成已经排序好的序列,然后依次将未排序的元素插入到已排序的序列中,确保每次插入后序列都是有序的。 1. **基本步骤**: - 从第一个元素开始,该元素可以认为已经被排序。 - ...

    IOS版各种排序算法

    冒泡排序是一种简单直观的排序方法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。虽然冒泡排序...

    iOS基数排序

    插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。插入排序的时间复杂度为O(n^2)。 4. **基数...

    iOS桶排序算法

    在iOS开发中,桶排序可以被用于优化大规模数据的排序过程,尤其是在性能要求较高的场景下。 桶排序的基本思想是假设输入数据服从均匀分布,将数据分到有限数量的桶里。每个桶再分别排序,可以使用不同的排序算法,...

    iOS汉字数组排序

    在调用排序函数时,传入自定义的比较闭包,比较两个元素的拼音。 4. 示例代码(假设`ZinkSortArray`有一个`sortWithPinyin`方法): ```swift let chineseArray = ["甲", "乙", "丙", "丁"] let pinyinArray = ...

    ios-几种常用的排序方法-)OC.zip

    冒泡排序是一种简单直观的排序算法,它重复地遍历要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数组的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。 **步骤**:...

    iOS模型数组排序

    在iOS开发中,数据模型数组的排序是一个常见的需求,特别是在显示列表或表格视图时。`sortedArrayUsingComparator`是Objective-C中`NSArray`类的一个方法,用于对数组中的对象进行自定义排序。这个方法非常强大,...

    IOS 商家分类选择

    使用Swift语言,可以利用UIKit框架中的UIView、UILabel、UIButton等类来构建界面元素。对于可滚动的列表,可能需要实现UITableViewDataSource和UITableViewDelegate协议,或者如果是使用UICollectionView,需要实现...

    ios字典排序

    了解这些知识点后,你可以根据需求灵活地处理iOS应用中的字典排序问题。`NSOrderedDictionary`提供了一种方便的方式来管理和展示有序的键值对,尤其适用于需要保持插入顺序或显示用户自定义顺序的情况。在实际开发中...

    ios 各种分类集合类库

    6. **排序与比较**:集合类库中的对象可以通过`compare:`方法进行比较,数组和集合可以使用`sortedArrayUsingComparator:`进行排序。 7. **性能优化**:在处理大量数据时,可以使用NSOrderedSet或NSCountedSet来...

    iOS版快速排序(也含冒泡)

    快速排序和冒泡排序是两种常见的排序算法,广泛应用于计算机科学和编程,包括iOS开发。在iOS编程中,理解并能正确实现这些排序算法对于优化应用程序性能和解决实际问题至关重要。 快速排序是一种高效的排序算法,由...

    ios 中文 排序

    可以定义一个自定义排序闭包,比较每个元素的拼音: ```swift let array = ["苹果", "香蕉", "橙子"] array.sort { (str1, str2) -&gt; Bool in let pinyin1 = PinyinHelper.convertToPinyinString(str1, format: ....

    ios-将传入的数据进行分类,排序,并添加索引.zip

    这两个方法允许我们基于自定义比较逻辑或者属性排序规则对数据进行排序。例如,如果我们有一个包含用户的数组,我们可以根据用户名的首字母进行分类,使用户列表更加有序和易于浏览。 接着,数据排序。排序是将数据...

    ios-长按拖动排序的无bug demo.zip

    5. **数据模型与视图的绑定**:在iOS应用中,数据通常存储在一个数据模型类中,然后通过某种方式与界面元素(如UICollectionViewCell)绑定。在长按拖动排序的过程中,需要更新数据模型的顺序,以反映用户在界面上的...

    ios-排序.zip

    在iOS开发中,排序是日常编程任务中必不可少的一部分。无论是对数组、集合或者自定义对象进行操作,都需要高效且准确的排序算法。本压缩包"ios-排序.zip"可能包含了与iOS开发相关的排序示例代码或教程,让我们来深入...

    图片按日期排序ios

    标题"图片按日期排序ios"指的是在iOS应用中实现图片按照拍摄或创建的日期进行排序的功能。描述中的“图片列表按照日期来排序,传入一个数据源即能把里面的图片按日期先后顺序排序”进一步明确了这个功能的实现方式,...

    HTML5与iOS交互实现的各种动态排序

    动态排序通常涉及到数组元素的重新排列,比如快速排序、冒泡排序、插入排序等。在HTML5中,我们可以通过JavaScript实现这些算法,并使用CSS3动画来呈现排序过程。例如,可以改变每个元素的透明度、大小或位置,模拟...

    iOS app侧对请求参数进行签名:【请求参数按照ASCII码从小到大排序、拼接、加密】(递归的方式进行实现)

    1、应用场景:防止请求参数被...3、【可选】针对签名数组ASCII码排序进行优化(先按照数组元素的class类型进行分组,其中的子数组是字符串类型的话,就对其进行排序之后再重新组合到新的数组中。然后再进行遍历递归拼接)

    UItableview sort 分组IOS根据汉字(或英文)按字母排序

    可以创建一个新的数组,其中每个元素都是一个元组,元组的第一个元素是首字母,第二个元素是一个包含该首字母下所有姓名的子数组。这可以通过遍历排序后的姓名数组,检查当前姓名的首字母是否与上一个姓名相同来实现...

Global site tag (gtag.js) - Google Analytics