算法 - 排序 - 选择排序
2016-03-05 14:27
190 查看
选择排序
1、基本思想:找出最小元素放在第一位,找出剩余元素中的最小元素放在第二位 .........
2、时间复杂度:O(n*n)
Demo
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]; // 头元素设置为 min int index = i; // 最小值下标 for(j=i+1;j<array.length;j++){ // 与头元素后的元素一一比较 if(min>array[j]){ min = array[j]; // 更新min index = 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>
相关文章推荐
- How to Install GMP in Ubuntu
- apache的三种虚拟主机应用场景!!!
- 线性表(LinearList)
- java调用天气预报webservice
- poj 1990 MooFest(树状数组)
- 传智博客 js学习(二)
- numpy.load
- “三星味”的苹果为什么能打赢“苹果味”的三星
- 什么是Linux 什么又是web服务器
- 论文丨免费下载SCI全文文献的10个方法
- numpy.mean
- 练习1-10
- Linux内核分析作业第二周
- sap中Excel的模版上传和下载
- TextInputLayout的使用
- python快速入门
- 一些小例子程序,用于说明JDBC的使用步骤。
- 平均年龄
- 经典排序算法——插入排序
- SQL 基础--> 子查询