算法 - 排序 - 选择排序

来源:互联网 发布:汇通天下g7怎么样知乎 编辑:程序博客网 时间:2024/05/23 01:59

选择排序

1、基本思想:找出最小元素放在第一位,找出剩余元素中的最小元素放在第二位 .........

2、时间复杂度:O(n*n)


Demo

<span style="font-size:14px;">public class MyChooseSort {static int[] array;public static void main(String[] args) {input();chooseSort();output();}static void chooseSort(){int i, j, min, temp;for(i=0;i<array.length;i++){ // 开始一轮选择排序min = array[i]; // 头元素设置为 minint index = i; // 最小值下标for(j=i+1;j<array.length;j++){ // 与头元素后的元素一一比较if(min>array[j]){ min = array[j]; // 更新minindex = j; // 记录最小值下标}}temp = array[i]; array[i] = min; array[index] = temp; //交换头元素和最小元素}}static void input(){System.out.println("请输入一个数组,数字之间以英文逗号分隔:");Scanner scanner = new Scanner(System.in);String string = scanner.next().toString(); //读取输入,直到遇到空格或换行,并转化为字符串。String arrayString[] = string.split(","); // 分割为字符串数组array = new int[arrayString.length]; // 定义数组长度for(int i=0;i<array.length;i++){array[i] = Integer.parseInt(arrayString[i]); // 整型化}}static void output() { System.out.println("经过选择排序后,结果如下:"); for(int i=0;i<array.length;i++) System.out.print(array[i] + " "); }}</span>


0 0