美文网首页
JAVA选择排序

JAVA选择排序

作者: 山顶冻人0 | 来源:发表于2017-10-26 16:55 被阅读0次
    /*
        选择排序:
            3 1 6 2 5
            
            算法:找出最小值,然后这个最小值和最前面的数据交换位置。
    */
    public class SelectSort{
        
        public static void main(String[] args){
            
            int[] a = {3 ,1 ,6 ,2 ,5};
            
            //选择排序
            for(int i=0;i<a.length-1;i++){
                
                //假设第一个数据是最小值
                //记录最小值元素的下标
                int min = i;
                
                for(int j=i+1;j<a.length;j++){
                    
                    if(a[min]>a[j]){
                        //给min重新赋值
                        min = j;
                    }
                }
                
                //考虑交换位置.
                if(min != i){
                    int temp;
                    temp = a[i];
                    a[i] = a[min];
                    a[min] = temp;
                }
                
            }
            
            //输出
            for(int i=0;i<a.length;i++){
                System.out.println(a[i]);
            }
        }
        
    }
    //第二种
      
            for (int i = 0; i < a.length-1; i++) {
                for (int j = i+1; j < a.length; j++) {
                    if(a[i]>a[j]){
                        int temp=a[j];
                        a[j]=a[i];
                        a[i]=temp;
                    }
                }
            }
    /*
    
    3 1 6 2 5
    第一次循环:
    1 3 6 2 5
    
    3 6 2 5
    第二次循环:
    2 6 3 5
    
    6 3 5
    第三次循环:
    3 6 5
    
    6 5
    第四次循环:
    5 6
    
    
    */
    
    
    

    相关文章

      网友评论

          本文标题:JAVA选择排序

          本文链接:https://www.haomeiwen.com/subject/dmmkpxtx.html