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_sort
想对作者说点什么? 我来说一句

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

关闭
关闭
关闭