一、选择排序思想:
选择排序的思想是:首先将第一个位置的元素标记为最小,依次与后面的元素比较,当发现比第一个元素更小的元素时,将那个元素标记为最小,然后用最小的这个元素继续与后面的元素比较,直到最后,然后将第一轮比较中最小的元素,与第一个元素交换位置。
接下来,进行第二轮循环,再以第二个元素作为起点,将其标记为最小,因为第一个元素已经排好了位置。依然按照上面的方法比较。依次类推,直到将所有最小的元素选择出来,与前面的交换。所以叫做选择排序。
二、选择排序算法Java描述
package com.solid.array;
public class SelectSort {
//数组对象
private long[] arr;
//数组元素个数
private static int nElems;
/**
* 构造方法
* @param max
*/
public SelectSort(int max) {
arr = new long[max];
nElems = 0;
}
/**
* 插入元素
* @param value
*/
public void insert(long value) {
arr[nElems] = value;
nElems++;
}
/**
* 选择排序算法
*/
public void selSort() {
int min; //用于标记最小的下标
for(int i=0; i<nElems-1; i++) {
min = i;
for(int j=i+1; j<nElems; j++) {
if(arr[j] < arr[min]) {
min = j;
}
}
if(min != i) {
long temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
}
/**
* 显示数组中的所有元素
*/
public void display() {
for(int i=0; i<nElems; i++) {
System.out.print("arr["+i+"]=" + arr[i] + " ");
}
System.out.println();
}
}