Java排序算法——直接选择排序

来源:互联网 发布:android应用程序优化 编辑:程序博客网 时间:2024/06/05 08:34

直接选择排序
基本原理:将待排序的元素分为已排序和未排序两组,依次将未排序的元素值中最小的元素放入已排序的数组中。
时间效率:O(n2)
空间效率:O(1)
算法稳定性:不稳定

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);//直接选择排序    }}