java排序算法(二)选择排序
2017-03-29 11:15
239 查看
选择排序是记录元素所在的位置(索引),然后进行交换,即把最大的数或者最小的数和最后一位或者第一位进行交换,保证了他们的最小最大位置,然后依次进行第二位,第三位。。。。直至所有的数都保证在正确的顺序位置。
package cn.sortAlgorithm; import java.util.Scanner; public class SelectSort { public static void main(String[] args) { System.out.print("请输入数字,以空格隔开:\n"); Scanner in = new Scanner(System.in); String[] s = in.nextLine().split("\\s+"); int[] arr = new int[s.length]; for (int i=0; i<s.length; i++) { arr[i] = Integer.parseInt(s[i]); } // int[] arr = {1,2,4,3,0}; System.out.println("排序前:"); display(arr); sort(arr); } public static void sort(int[] arr){ // 排序 int index=0,tmp; int min; for(int i=0; i<arr.length-1; i++){ min = arr[i]; // 从当前位置开始与后面的数比较,记录最小的数 index = i; // 记录当前的索引 for(int j=i+1; j<arr.length; j++){ if(min>arr[j]){ min = arr[j]; // 记录最小的数,并记录索引 index = j; } } if(index != i){ // 把最小的数与当前开始比较的位置做交换 tmp = arr[i]; arr[i] = arr[index]; arr[index] = tmp; } } System.out.println("排序后:"); display(arr); } public static void display(int[] arr){ // 显示数组 for(int b:arr){ System.out.print(b+" "); } System.out.println(); } }
相关文章推荐
- Java排序算法(二):直接选择排序
- Java排序算法(二):直接选择排序
- java排序算法(二):直接选择排序
- JAVA排序算法之 选择排序
- Java排序算法——直接选择排序
- Java排序算法解析之 选择排序
- java排序算法之 --- 选择排序
- java排序算法-选择排序
- Java排序算法-直接选择排序
- Java排序算法(二):直接选择排序
- Java排序算法_选择排序
- Java排序算法2:选择排序
- java排序算法之三选择排序
- Java排序算法_选择排序
- java排序算法之 --- 选择排序
- java排序算法学习(二)--选择排序
- Java排序算法(二):直接选择排序 .
- java排序算法(一)_冒泡排序、插入排序、选择排序
- Java排序算法(冒泡排序、选择排序、插入排序、反数组排序、快速排序)例子
- Java排序算法(二):直接选择排序