我是一名初学程序员,我获得了编写NSMutableArray
类别扩展名的作业。用谷歌搜索,我发现很少的信息,并不明白如何做到这一点。
我需要写一个Shell排序的扩展。我可以使用NSSortDescriptor
,但扩展应该使用排序算法,标准NSSortDescriptor
方法不适用于此。如果存在某种普通的用户关联引用以及如何使用它,它确实有帮助。因为,我发现 - 不适合我。
答案 0 :(得分:0)
所以这就是......
<强>的NSMutableArray + Sort.h 强>
#import <Foundation/Foundation.h>
@interface NSMutableArray (Sort)
-(void)sortArrayUsingShellSort;
@end
<强>的NSMutableArray + Sort.m 强>
#import "NSMutableArray+Sort.h"
@implementation NSMutableArray (Sort)
-(void)sortArrayUsingShellSort
{
// tasks
// #1. access the unsorted array using self
// #2. sort the array using your shell sort, no one gonna do that for you, you have to do that yourself. Re-arrange the items or the array.
}
@end
shell排序的一些有用链接
进入你的 的的main.m 强>
#import <Foundation/Foundation.h> // not necessary actually, as it is already imported into our NSMutableArray+Sort.h
#import "NSMutableArray+Sort.h"
int main(int argc, char * argv[]) {
NSMutableArray *myArray = [[NSMutableArray alloc] initWithArray:@[
[NSNumber numberWithInt:10],
[NSNumber numberWithInt:3],
[NSNumber numberWithInt:4],
[NSNumber numberWithInt:15]
]];
NSLog(@"array before sorting %@", myArray);
//here goes your sorting category function call
[myArray sortArrayUsingShellSort];
NSLog(@"array after sorting %@", myArray);
}