//测试调用
NSMutableArray *arr = [@[@"3", @"5", @"4", @"2", @"6"] mutableCopy];
arr = [self selectSortWithArray:arr];
NSLog(@"result = %@", arr);
/**
* 方法名:selectSort 说明:选择排序O(N^2)的算法
*/
- (NSMutableArray *)selectSortWithArray:(NSMutableArray *)array {
for (int i = 0; i < array.count; i++) {
NSInteger j = [self selectSortWithArray:array index:i];
if (i != j) {
NSString *temp = array[j];
array[j] = array[i];
array[i] = temp;
}
}
return array;
}
- (NSInteger)selectSortWithArray:(NSMutableArray *)array index:(NSInteger)index {
NSString *min = array[index];
NSInteger minPos = index;
for (int i = (int)index + 1; i < array.count; i++) {
if ([array[i] compare:min] == NSOrderedAscending) {
min = array[i];
minPos = i;
}
}
return minPos;
}
网友评论