其他分享
首页 > 其他分享> > 基础排序之选择排序

基础排序之选择排序

作者:互联网

选择排序理解:假设给了一个数组arr[]={4,5,6,2,3,8,9,15,2}

  首先我们会在数组中所有元素(共9个)中去选择一个最大的数,然后把这个数与天花板上的数  交换位置(也就是2的位置)

  然后,剩余的八个元素中在去找到最大的数,放到天花板上(也就是15所在的位置)

  后面以此类推

  直到天花板的位置下标为0

import java.util.Arrays;

public class 选择排序 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        int[] arr = new int[] {5,9,6,5,82,6,12,45};
        SelectSort(arr);
        System.out.println(Arrays.toString(arr));
	}
   
	public static void SelectSort(int[] arr) {
		//控制天花板:逐步去找最大的数,第二大的数.......
		for(int tianHuaBan = arr.length-1;tianHuaBan>=0;tianHuaBan--) {
			//在天花板内找到一个最大的数放到天花板的位置
			int maxIndex=0;   //天花板内最大数的下标
			int max = arr[maxIndex];//天花板内最大数的值
			for(int i=0;i<=tianHuaBan;i++) {
				//在for循环内逐步找到最大的数的下标和值
				if(arr[i]>max) {
					maxIndex = i;
					max = arr[i];
				}
			}
			//已经找到该天花板中最大的数的下标和值了,让该数和天花板上的数交换
			int temp = arr[tianHuaBan];
		    arr[tianHuaBan] = max;
		    arr[maxIndex] = temp;
		}
	}
}

标签:arr,int,tianHuaBan,基础,天花板,maxIndex,选择,排序
来源: https://blog.csdn.net/weixin_54401017/article/details/122691872