选择排序
2020-06-11 本文已影响0人
海牛骑士
实现思路:
1. 设数组内存放了n个待排数字,数组下标从1开始,到n结束。
2. i=1
3. 从数组的第i个元素开始到第n个元素,寻找最小的元素。(具体过程为:先设arr[i]为最小,逐一比较,若遇到比之小的则交换)
4. 将上一步找到的最小元素和第i位元素交换。
5. 如果i=n-1算法结束,否则回到第3步
复杂度:
平均时间复杂度:O(n^2)
平均空间复杂度:O(1)
NSMutableArray * array = [NSMutableArray arrayWithObjects:@22,@17,@109,@38,@8,@19, nil];
for (int i = 0; i < array.count; i ++) {
for ( int j = i + 1; j < array.count; j ++) {
/// > 升序 < 降序
if ( [array[i] integerValue] < [array[j]integerValue] ) {
int temp = [array[i] integerValue];
array[i] = array[j];
array[j] =[NSNumber numberWithInt:temp];
}
}
}
NSLog(@"%@",array);