美文网首页
选择排序

选择排序

作者: 海牛骑士 | 来源:发表于2020-06-11 20:47 被阅读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);
    

    相关文章

      网友评论

          本文标题:选择排序

          本文链接:https://www.haomeiwen.com/subject/ycdvxqtx.html