选择排序

选择排序

以升序排序为例:找到最小数的下标minIndex,将其与第一个数交换,接着对子序列(1-n)重复该操作,直到子序列只含一个元素为止。(即选出最小的数放到第一个位置,该数安排好了,再对剩下的数选出最小的放到第二个位置,以此类推)

image.png

package mySort;

public class selectSort {

    
    public static void main(String arr1[]){
        int arr[]={1,4,2,3,5};
        printArray(arr);
        selectSort(arr);
        printArray(arr);
    }
    public static void printArray(int[] arr){
        
        
        for(int i=0;i<arr.length;i++){
            
            System.out.print(arr[i]+" ");
        }
        System.out.println();
    }
    public static void swap(int arr[],int i,int j){
        int tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
    }

    private static void selectSort(int[] arr) {
        
        for(int i=0;i<arr.length-1;i++){
            int minindex=i;
            for(int j=i+1;j<arr.length;j++){
                minindex=arr[minindex]<arr[j]?minindex:j;
            }
            swap(arr,i,minindex);
            
        }
        
    }
    
    
    
    
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。