package JavaSolution;
/**
* @author xuekun
* SelectSort类实现了对数组的简单排序,并且以数组方式输出
*选择排序(Selection sort)是一种简单直观的排序算法。
*/
public class SelectSort {
public static void main(String[] args) {
int array[] = {1,5,3,7,4,67,56,77,78,67};
/*Explain:对数组排序*/
selectSort(array);
/*Explain:输出数组*/
printArray(array,"array");
}
/**
* @author xuekun
*Function:交换两个变量的值
*@param array:待交换的数组
*@param i:带交换的变量在数组里的位置
*@param j:带交换的变量在数组里的位置
*/
private static void swap(int[] array,int i,int j) {
if(i != j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
/**
* @author xuekun
*step1 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,
*step2 然后,再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾
*step3 以此类推,直到所有元素均排序完毕。
*@param array 待排序的数组
*/
private static void selectSort(int[] array) {
int min;
for(int i = 0; i < array.length-2; i++) {
min = i;
for(int j = i +1; j < array.length-1; j++) {
if(array[min] > array[j]) {
min = j;
}
}
swap(array,min,i);
}
}
/**
* @author xuekun
*Function:输出数组
*@param array 待输出的数组
*@param str 待输出数组的名字
*/
private static void printArray(int[] array,String str) {
System.out.print(str+"={");
for(int i = 0; i < array.length; i++ ) {
if(i != array.length - 1) {
System.out.print(array[i]+",");
}else {
System.out.print(array[i]);
}
}
System.out.println("}");
}
}
Java之选择排序
最新推荐文章于 2022-02-13 17:15:48 发布