选择排序
选择某个索引位置的元素,然后和后面的元素依次进行比较,若大于则交换位置,经过第一轮比较排序后可以得出最小值,然后使用同样的方法把剩下的元素逐个比较即可.
public class ArrSort {
public static void main(String[] args) {
int[] arr=new int[] {3,87,43,98,21,2,5,8,57};
System.out.println("\n");
printArr(arr);
selectionSort(arr);
printArr(arr);
}
//选择排序
static void selectionSort(int[] arr) {
for (int times = 1; times <= arr.length-1; times++) {
for (int i = times; i <= arr.length-1; i++) {
if(arr[times-1]>arr[i]) {
swapData(arr,times-1,i);
}
}
}
}
//数组中两个元素的交换
static void swapData(int[] arr,int index,int index1) {
int temp;
temp=arr[index];
arr[index]=arr[index1];
arr[index1]=temp;
}
//打印数组
static void printArr(int[] arr) {
if(arr == null) {
System.out.println("NULL");
return;//结束方法
}
String ret="[";
for (int i = 0; i < arr.length; i++) {
ret=ret+arr[i];
//如果当前i不是最后一个索引,则拼接","
if(i != arr.length-1) {
ret=ret+",";
}
}
System.out.print(ret+"]");
}
}