排序、根据字典元素中的数字排序

NSLog(@"第四题");

NSComparator comp=^(id obj1 ,id obj2){

int age1=[ obj1[@"age"]intValue ];

int age2=[obj2[@"age"]intValue];

if(age1==age2){

return [obj1[@"sex"] compare:obj2[@"sex"]];

}

if(age1<age2){

return  NSOrderedAscending;

}else if(age1>age2){

return NSOrderedDescending;

}else{

return  NSOrderedSame;

}

};

//        NSArray*arrsort2=[newarr3 sortedArrayUsingSelector:@selector(compare:)];

NSSortDescriptor *des1=[[NSSortDescriptor alloc]initWithKey:@"age" ascending:YES ];

NSArray*del1=[NSArray arrayWithObjects:des1, nil];

NSArray*arrsort5=[newarr3 sortedArrayUsingDescriptors:del1];

时间: 2024-12-11 01:55:17

排序、根据字典元素中的数字排序的相关文章

C# DataTable中按字符串中的数字排序

例如datatable中有一列是门牌号格式是xx-xx-xx,或字符串中含有汉字或其他符号等等,如何按照正确的数字顺序排序呢? 1.获得字符串中的数字. 2.在datatable中添加一列,类型是Int或double或decimal类型的,转为排序准备.然后利用dataview.sort来排序. 1.获得字符串中的数字代码: /// <summary> /// 获取字符串中的数字 /// </summary> /// <param name="str"&g

python练习:字符串中的数字排序

#字符串中的字数排序 b = '1534788912' print ("将b排序显示,办法(列表):") listb = list(b) #['1', '5', '3', '4', '7', '8', '8', '9', '1', '2'] for i in range(0, len(listb)-1): for j in range(0,len(listb)-1): if int(listb[j]) > int(listb[j+1]): listb[j], listb[j+1]

数组中 的数字排序

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSArray *arr=[[NSArray alloc]initWithObjects:@12,@9,@34,@56,@11, nil]; NSArray *newarr=[arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj

java面试中常用的排序算法

一.冒泡排序 [java] view plaincopyprint? package sort.bubble; import java.util.Random; /** * 依次比较相邻的两个数,将小数放在前面,大数放在后面 * 冒泡排序,具有稳定性 * 时间复杂度为O(n^2) * 不及堆排序,快速排序O(nlogn,底数为2) * @author liangge * */ public class Main { public static void main(String[] args) {

C#中的个别排序方法

C#学习中的一些算法排序,不完整, @^_^@ -------- 2016-10-23 *************************************************************************************************** 1.冒泡排序 对比相邻的元素值,满足条件就交换两个元素的位置,把较小的移到数组前边,较大的数移到数组后边,这样较小的元素就像气泡上升到前面,较大的像气泡移到后边. 1 class Program 2 { 3 st

java中各种经典排序(冒泡 选择 插入 希尔等)

1 import java.util.Arrays; 2 3 public class ArraySort { 4 public static void main(String[] args) { 5 int[] arr = { 12, 23, 14, 5, 64, 35, 42 }; 6 System.out.println("排序前:"); 7 System.out.println(Arrays.toString(arr)); 8 // bubbleSort(arr); 9 //

Java实现8中常用的排序

直接插入排序 import java.util.HashMap; /** * 直接插入排序 * @author HHF * 2014年3月19日 */ public class InsertSort { private static int contrastCount = 0;//对比次数 private static int swapCount = 0;//交换次数 public static void main(String[] args) { System.out.println("直接插

算法学习之排序算法(三)(选择排序法)

1.引言 选择排序工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完. 选择排序是不稳定的排序方法.选择排序是和冒泡排序差不多的一种排序.和冒泡排序交换相连数据不一样的是,选择排序只有在确定了最小的数据之后,才会发生交换.怎么交换呢?我们可以以下面一组数据作为测试: 2, 1, 5, 4, 9 第一次排序:1, 2, 5, 4, 9 第二次排序: 1, 2, 5, 4, 9 第三次排序: 1, 2, 4, 5, 9 第四次排序:

十大排序算法之(三)——选择排序

#1,选择排序简介 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完. 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面),我个人认为,按照数值来讲,这两个5没差别,所以这是不是决定这个算法不稳定还有待商榷. #2,c++实现算法 #include<iostream>#include&l