黑马程序员技术交流社区

标题: 选择排序 [打印本页]

作者: 暴雨    时间: 2016-6-15 23:38
标题: 选择排序
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:}
作者: TCK8888    时间: 2016-6-15 23:46
温故知新
作者: 我是你岁哥❤环    时间: 2016-6-16 01:59
选择排序的思想:
1.从数组的第一个索引上的元素开始, 依次与余下索引上的元素相比较,如果这个元素的值大于其他位置上的元素,就交换这两个元素的位置,直到判断到数组最后一个位置上的元素,此时数组上第一个索引上的元素就是这个数组中的最小值;
2.让数组中的第二个索引上的元素进行步骤1中的依次比较  交换的操作,此次比较之后数组第二个索引位置上的元素就是这个数组中的第二小的值
依次循环比较下去
每次循环比较的次数相对上一次都少一次
直到只有最后两个元素比较 交换,判断就此结束,此时得到的数组就是一个从小到大排序的数组






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2