简单选择排序
简单选择排序代码思想
1.从待排序序列中,找到关键字最小的元素
2.如果最小的元素不是待排序第一个元素,将其和第一元素互换
3.在从剩余的元素找最小。重复。第二小的和第二位置上的元素交换
代码:
public class Test {
public static void main(String[] args) {
int[] arr=new int[]{5,3,2,8,5,9,1,0};
SelectSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void SelectSort(int[] arr) {
//1.遍历所有的数
for(int i=0;i<arr.length-1;i++){
//先把第一作为最小的。
int minIndex=i;
//2.循环后面找后面元素的最小的元素,并且记录下标
for(int j=i+1;j<arr.length-1;j++){
//如果后面的数比记录最小的数小
if(arr[minIndex]>arr[j]){
//记录下标
minIndex=j;
}
}
//第一个和后面最小的索引不一样。那么说明最小的是后面要交换
if(i!=minIndex){
//交换
int temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
}
}