A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 暴雨 中级黑马   /  2016-6-15 23:38  /  538 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void selectSort(int[] a) {
                int N = a.length;
                for (int i = 0; i < N; i++) {
                        int min = i;
                        for (int j = i + 1; j < N; j++) {
                                if (a[min] > a[j]) {
                                        min = j;
                                }
                        }
                        exch(a, i, min);
                }
        }{:2_43:}{:2_36:}

2 个回复

倒序浏览
温故知新
回复 使用道具 举报
选择排序的思想:
1.从数组的第一个索引上的元素开始, 依次与余下索引上的元素相比较,如果这个元素的值大于其他位置上的元素,就交换这两个元素的位置,直到判断到数组最后一个位置上的元素,此时数组上第一个索引上的元素就是这个数组中的最小值;
2.让数组中的第二个索引上的元素进行步骤1中的依次比较  交换的操作,此次比较之后数组第二个索引位置上的元素就是这个数组中的第二小的值
依次循环比较下去
每次循环比较的次数相对上一次都少一次
直到只有最后两个元素比较 交换,判断就此结束,此时得到的数组就是一个从小到大排序的数组

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马