数组排序
2016-01-11 16:20
183 查看
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSArray *arr=@[@{@"name":@"Tim Cook",@"age":@"24",@"sex":@"female",@"score":@"89"},@{@"name":@"Jony Ive",@"age":@"26",@"sex":@"female",@"score":@"76"},@{@"name":@"Steve Jobs",@"age":@"24",@"sex":@"male",@"score":@"67"},@{@"name":@"Robert Brunne",@"age":@"28",@"sex":@"male",@"score":@"88"}]; /* 1.添加数据姓名:Philip Schiller年龄:29性别:female分数:70到arr数组内。 */ NSMutableArray *newarr= [[NSMutableArray alloc]initWithArray:arr]; NSDictionary *arr1=@{@"name":@"Philip Schiller",@"age":@"29",@"sex":@"female",@"score":@"70"}; [newarr addObject:arr1]; /* 2.查找数组内"Steve Jobs"的数据并删除。*/ for (int i=0; i<[newarr count]; i++) { NSDictionary *dic=newarr[i]; if ([dic[@"name"]isEqual:@"Steve Jobs"]) { [newarr removeObject: dic]; } } /*3.按姓名首字母进行排序。*/ NSSortDescriptor *des=[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:1]; NSArray *arr2 =[newarr sortedArrayUsingDescriptors:[NSArray arrayWithObjects:des, nil]]; for (NSDictionary *dic in arr2) { NSLog(@"%@ %@ %@ %@",dic[@"name"],dic[@"age"],dic[@"sex"],dic[@"score"]); } /*4.按年龄进行升序排序,如果年龄相同则按性别进行排序。*/ NSSortDescriptor *des1=[NSSortDescriptor sortDescriptorWithKey:@"age" ascending:1]; NSSortDescriptor *des4=[NSSortDescriptor sortDescriptorWithKey:@"sex" ascending:1]; NSArray *arr3 =[newarr sortedArrayUsingDescriptors:[NSArray arrayWithObjects:des1,des4, nil]]; for (NSDictionary *dic1 in arr3) { NSLog(@"%@ %@ %@ %@",dic1[@"name"],dic1[@"age"],dic1[@"sex"],dic1[@"score"]); } /*5.输出成绩大于或等于80分的学员信息。*/ for (NSDictionary *dic3 in arr2) { int num=[dic3[@"score"] intValue]; if (num>=80) { NSLog(@"%@ %@ %@ %@",dic3[@"name"],dic3[@"age"],dic3[@"sex"],dic3[@"score"]); } } } return 0; }
相关文章推荐
- hdu 2097 Sky数 寒假集训1 06
- 85、交换机安全MAC层攻击配置实验之Port-Security
- CocoaPods一个Objective-C第三方库的管理利器
- linux系统双网卡绑定及丢包问题
- 配置git和tortoiseGit
- java 数据类型对应的字节长度
- ScheduledExecutorService的用法——定时执行两个任务
- 多线程操作控件属性
- Fio 输出内容的解释
- linux的PAM认证和shadow文件中密码的加密方式
- 一种简单的图像显著性计算模型
- 第一篇博客
- 中缀转后缀
- Android之 学习路线
- Android属性动画完全解析(一)-认识属性动画的基本用法
- Android基础之Fragment与Activity交互详解
- mysql 查询优化
- [caffe]深度学习之图像分类模型AlexNet解读
- IOS-TextField知多少
- 数据库分页【Limt与Limt..OFFSET 】