java选择排序算法

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。
package ch02;

public class SelectionSort {
	public static void sort(long[] arr) {
		for (int i = 0; i < arr.length; i++) {
			int k = i;// 用于记录最小数的下标,设置当前第一个位置为最小数
			for (int j = i + 1; j < arr.length; j++) {
				if (arr[k] > arr[j]) {
					k = j;//如果后边比k处的值还要小,就把这个下标记为最小值的下标
				}
				
				//交换最小值(k下标对应的值)和当前的i对应的值
				long temp = arr[i];
				arr[i] = arr[k];
				arr[k] = temp;
			}
		}
	}

}

测试代码如下:

package ch02;

public class SelectSortTest {
	public static void main(String[] args) {
		long[] arr = new long[5];
		arr[0] = 3;
		arr[1] = 4;
		arr[2] = 5;
		arr[3] = 7;
		arr[4] = 6;
		for (long num : arr) {
			System.out.print(num);
		}
		System.out.println();
		SelectionSort.sort(arr);
		for (long num : arr) {
			System.out.print(num);
		}
	}
}

控制台输出:

34576

34567
阅读更多
文章标签: java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

java选择排序算法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭