• 选择排序


    选择排序

    思路

    1.一开始的时候,整个数组是无序的,我们遍历数组找到最小的值,将这个最小的值放到它应该放的位置也就是a[0]
    2.接着我们再从a[1]到a[n]中继续遍历找到最小的值,并将它放到正确的地方a[1]
    3.这样a[0],a[1]就是有序的了
    4.我们在循环这样的过程从a[i]-a[n]中找到最小的值,放到a[i]位置,使得前i个元素有序
    5.直到整个数组是有序的

    代码

    package sort;
    
    public class SelectSort {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int[] arr= {7,6,5,4,3,2,1};
    		SelectSort(arr);
    		for(int i=0;i<arr.length;i++) {
    			System.out.printf("%d ",arr[i]);
    		}
    		System.out.println();
    	}
    	
    	public static void SelectSort(int[] a) {
    		int minIndex=0;//最小值的下标
    		int min=0;//最小值
    		int len=a.length;//获取a的长度
    		for(int i=0;i<len-1;i++) {
    			min=a[i];//假设a[i]为[i,len)的中的最小值
    			minIndex=i;//最小下标为i
    			for(int j=i+1;j<len;j++) {
    				if(a[j]<a[minIndex]) {//在[i,len)中寻找最小值
    					minIndex=j;//如果有比假设最小值更加小的值就刷新下标和值
    					min=a[j];
    				}
    				int temp=a[i];//将找到的最小值放到对应正确的位置
    				a[i]=a[minIndex];
    				a[minIndex]=temp;
    			}
    		}
    	}
    
    }
    
  • 相关阅读:
    SQLite数据库如何存储和读取二进制数据
    JS常用代码
    获取内容第一张图片地址的函数
    我对App_Code的理解
    VS2008中Web项目的App_Code目录问题
    jQuery 浮动广告实现代码
    常用的倒计时脚本
    IE8 CSS hack
    精典的网吧常用批处理收集
    ASP.NET中App_Code,App_Data等文件夹的作用
  • 原文地址:https://www.cnblogs.com/mengxiaoleng/p/11663812.html
Copyright © 2020-2023  润新知