4.选择排序与冒泡排序比较

1.选择排序概述

  • 每次将要排序的组合中最小(大)的元素放在最后,直到没有要排序的元素。

2.代码实现

    public static void selectSort(int[] n) {
        for (int i = 0; i < n.length; i++) {
            int min = i;//设定最小值暂时为n[i]
            for (int j = i; j < n.length; j++) {
                if (n[j] < n[min]) {
                    min = j;//循环找出最小值
                }
            }
            int temp = 0;//将最小值与n[i]交换
            temp = n[min];
            n[min] = n[i];
            n[i] = temp;
        }
    }
  • 时间复杂度依然为O(n^2)

3.与冒泡排序比较

相同处,都是每次循环一一比较,然后的到最大(小)值。
不同处,冒泡排序时比较一次,交换一次。选择排序时比较一个循环,然后交换一次,交换次数远远少于冒泡排序。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据结构与算法--排序之冒泡、选择、插入、希尔 我们关注的主要对象是重新排列数组元素的算法,每个元素都有一个主键,...
    sunhaiyu阅读 1,172评论 2 12
  • 排序的基本概念 在计算机程序开发过程中,经常需要一组数据元素(或记录)按某个关键字进行排序,排序完成的序列可用于快...
    Jack921阅读 1,496评论 1 4
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,237评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,753评论 0 15
  • 吹空调看幸运星喝冷饮,悠哉的日子就在今天。还好昨天太忙太累忘了记录,不开心的事情就不要记录了,回忆起来满满都是快乐...
    摘星星给你阅读 283评论 0 0