- package com.xbmd.share;
- /**
- * 需求:将一个无序数组按照从小到大的顺序排列
- * 方法:选择排序
- * 实现:选定一个元素,依次和后面的元素进行相比较;如果选定的元素大于后面比较的元素,就交换位置
- * 步骤:
- * ①:第一轮比较完之后,最小值出现在第0角标位置
- * ②:第二轮比较完之后,第二最小值出现在第1角标位置
- * 依次类推...
- */
- public class SelectionSort {
- //选择排序
- private static void Select(int[] arr)
- {
- for(int i = 0;i<arr.length;i++)
- {
- for(int j = i+1;j<arr.length;j++)
- {
- if(arr[i] > arr[j])
- {
- int temp = arr[i];
- arr[i]=arr[j];
- arr[j]=temp;
- }
- }
- }
- }
- //使用Java5新特增强for循环,打印数组
- private static void print(int[] arr)
- {
- for (int i : arr) {
- System.out.print(i+" ");
- }
- }
- public static void main(String[] args) {
- //静态初始化数组
- int[] arr = {4,5,2,9,43,74,86};
- System.out.println("排序前数组:");
- print(arr);
- //排序
- Select(arr);
- System.out.println();
- System.out.println("排序后数组");
- print(arr);
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/0501201614367.html
来源: http://www.codesnippet.cn/detail/0501201614367.html