iOS數組快速排序
歡迎訪問我的新部落格: 開發人員說
對數組元素排序是使用任何程式設計語言都會遇到的一個問題,其中大部分已經提供了一些很方便的排序方法供我們使用,那麼iOS開發中有哪些方法可以讓我們實現對數組元素快速排序呢?
先定義一個數組,然後對其中元素進行排序:
NSArray *originalArray = [NSArray arrayWithObjects:[NSNumbernumberWithInt:5],
[NSNumber numberWithInt:6],
[NSNumber numberWithInt:3],
[NSNumber numberWithInt:4],
[NSNumber numberWithInt:1],
[NSNumber numberWithInt:2],
nil];
方法1:NSComparator
NSArray *sortedArray = [originalArray sortedArrayUsingComparator:^(NSNumber *number1,NSNumber *number2) {
int val1 = [number1 intValue];
int val2 = [number2 intValue];
if (val1 > val2) {
returnNSOrderedAscending;
} else {
return NSOrderedDescending;
}
}];
NSLog(@"%@", sortedArray);
方法2.NSSortDescriptor
NSSortDescriptor *descriptor = [[NSSortDescriptoralloc]initWithKey:nilascending:YES];
NSArray *sortArray = [NSArrayarrayWithObjects:descriptor,nil];
NSArray *sortedArray = [originalArray sortedArrayUsingDescriptors:sortArray];
NSLog(@"%@", sortedArray);
另:此部落格將會慢慢停止更新,歡迎訪問我的新部落格devsay.com進行技術探討。