ios排序知识点函数
来源:互联网 发布:西安云计算 编辑:程序博客网 时间:2024/05/16 01:22
排序
Person.h
@interface Person :NSObject
{
int _age;
int _integrity;
NSString * _name;
}
- (id)initWithAge:(int)age andWithIntegrity:(int)i andName:(NSString *)name;
@property (nonatomic)int age;
@property (nonatomic)int integrity;
//左边 大于 右边的准则
- (BOOL)olderThanIntegrity:(Person *)preson;
- (BOOL)youngerThanIntegrity:(Person *)person;
Person.m
#import "Person.h"
@implementation Person
@synthesize age = _age;
@synthesize integrity =_integrity;
- (id)initWithAge:(int)age andWithIntegrity:(int)i andName:(NSString *)name{
if (self = [superinit]) {
_age = age;
_integrity = i;
_name = name;
}
return self;
}
//提供一个左边大于右边进行交换的准则 升序;
- (BOOL)olderThanIntegrity:(Person *)person{
// if (self.integrity > person.integrity) {
// return YES;
// }else{
// return NO;
// }
returnself.integrity > person.integrity;
}
//降序
- (BOOL)youngerThanIntegrity:(Person *)person{
returnself.integrity < person.integrity;
}
- (NSString *)description{
NSString *str = [NSStringstringWithFormat:@"name = %@ age = %d节操 = %d",_name,_age,_integrity];
return str;
}
@end
main
int main (int argc,const char * argv[])
{
@autoreleasepool {
Person *qiange = [[Personalloc]initWithAge:25andWithIntegrity:0andName:@"qiange"];
Person *liangge = [[Personalloc]initWithAge:30andWithIntegrity:-1andName:@"liangge"];
Person *laoGuo = [[Personalloc]initWithAge:30andWithIntegrity:80andName:@"laoguo"];
Person *laoPan = [[Personalloc]initWithAge:30andWithIntegrity:38andName:@"laoPan"];
Person *mars = [[Personalloc]initWithAge:35andWithIntegrity:22andName:@"mars"];
Person *zhouXiang = [[Personalloc]initWithAge:40andWithIntegrity:250andName:@"zhouxiang"];
NSMutableArray *array = [[NSMutableArrayalloc]init];
[arrayaddObject:mars];
[arrayaddObject:laoGuo];
[arrayaddObject:qiange];
[arrayaddObject:zhouXiang];
[arrayaddObject:liangge];
[arrayaddObject:laoPan];
//sortUsingSelector:这个是一个排序方法,已经实现了,但是缺少排序准则(升序/降序),(这个准则就是一个函数)
//排序:数组元素应该是相同的对象指针类型
//2.数组元素是哪个类的对象指针,那么我就把这个准则写到这个类中
//3.这个准则就是什么时候交换???左边大于右边交换还是 左边小于右边交换
//升序
[array sortUsingSelector:@selector(olderThanIntegrity:)];//@selector(olderThanIntegrity:)选择器 把函数名转化为选择器
//相当于把olderThanIntegrity:传入sortUsingSelector:中;
[arraysortUsingSelector:@selector(youngerThanIntegrity:)];//降序
NSLog(@"array = %@",array);
}
return 0;
}
- ios排序知识点函数
- Oracle知识点(三)数值函数 排序呢查询order by
- c语言知识点---qsort快速排序函数的使用
- iOS 知识点
- IOS知识点
- IOS知识点
- iOS 知识点
- iOS知识点
- iOS知识点
- ios 知识点
- iOS知识点
- ios知识点
- 【iOS】swift 排序Sort函数用法(包含NSDictionary排序)
- javascript基础七(知识点类快速排序与函数声明函数表达式)
- iOS-Runtime知识点整理,ios-runtime知识点
- 希尔排序 知识点小结
- 快速排序 知识点小结
- 归并排序 知识点小结
- 动手实现Logistic Regression (c++)_数据
- while(1); 作用
- 傻瓜 你明白吗
- javascript深入理解js闭包
- %00截断问题
- ios排序知识点函数
- 利用Rational Rose进行C++代码和数据库结构分析
- GridView相关总结(主键绑定 行高亮 状态替换 多余字符...替代 详情查看 )
- hadoop-Reduce侧联结
- 图像居中CenterImage
- Hadoop-基于DistributedCache的复制联结
- 什么是真正的朋友
- python yield
- 国外知名的开源项目托管网站