选择排序

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);
上一篇下一篇

猜你喜欢

热点阅读