直接选择排序
【思想】:将指定排序位置与其他数组元祖分别对比,如果满足条件就交换元素,不同于冒泡排序,这里交换的是满足条件的元素与指定的排序位置。
【优越性】:与冒泡排序相比较,直接选择排序交换次数少,所以速度会更快。
【算法实现】:每一趟在待排序元素中找出最大的(或最小的),顺序的放在已排好序的最后。
【过程】:
【代码实现】 :
public class SelectSort{
public static void main(String[] args) {
int arr[]={24,32,1,3,23};
SelectSort sorter=new SelectSort();
sorter.sort(arr);
}
private void sort(int[] arr) {
int index;
for(int i=1;i<arr.length;i++){
index=0;
for(int j=1;j<=arr.length-i;j++){
if(arr[j]>arr[index]){
index=j;
}
}
int temp=arr[arr.length-i];
arr[arr.length-i]=arr[index];
arr[index]=temp;
}
showArray(arr);
}
private void showArray(int[] arr) {
for(int i:arr){
System.out.print(i+" ");
}
System.out.println();
}
}