Java排序演算法——直接選擇排序
阿新 • • 發佈:2019-02-08
直接選擇排序
基本原理:將待排序的元素分為已排序和未排序兩組,依次將未排序的元素值中最小的元素放入已排序的陣列中。
時間效率:
空間效率:
演算法穩定性:不穩定
import java.util.Scanner;
//直接選擇排序(從小到大)
public class Main{
private void selectSort(int nums[]){
int length = nums.length;//獲取陣列長度
for(int i = 0;i<length;i++){
int minIndex = i;//儲存最小值索引
for(int j = i+1;j<length;j++){
if(nums[minIndex]>nums[j]){
minIndex = j;
}
}
if(minIndex!=i){
int temp = nums[minIndex];
nums[minIndex]=nums[i];
nums[i] = temp;
}
}
System.out .println(java.util.Arrays.toString(nums));//輸出直接排序陣列
}
//測試函式
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);//建立鍵盤掃描物件
int nums[] = new int[10];
for(int i = 0;i<10;i++){
nums[i] = scanner.nextInt();
}
scanner.close();//關閉鍵盤掃描物件
Main test = new Main();
test.selectSort(nums);//直接選擇排序
}
}