选择排序

来源:互联网 发布:大数据策划方案模板 编辑:程序博客网 时间:2024/06/05 15:43
   //简单选择排序。    
//以一个角标的元素和其他元素进行比较。
//在内循环第一次结束,最值出现的头角标位置上。


     public class demo
{
public static void main(String[] args)
    {   
   int[] a = new int[6];
         a[0]=3;
         a[1]=6;
         a[2]=7;
         a[3]=2;
         a[4]=8;
         a[5]=1;   //a.length=6-1 ,比较5次 
         for(int x=0;x<a.length-1;x++)       //第一次外循环从0开始
        {
for(int y=x+1;y<a.length;y++)   //进入内循环,y:0+1=1 开始
                        {                                                          
if(a[x]>a[y])                //这时a[x]等于3,a[y]等于6
{                                 // 如果a[0]>a[1],就是3>6,不成立条件,进入第二次内循环  
int temp = a[x];              // 如果a[0]>a[2],就是3>7, 不成立条件,进入第三次内循环              
a[x]=a[y];                    // 如果a[0]>a[[3],就是3>2,成立了,于是
a[y]=temp;                       // int temp = a[x]:3
}                                    //  a[x]=a[y]:2
}                                        //  a[y]=temp:3
                             // 所以现在a[0]=2,a[3]=3
}                                                      // 继续循环
                              // 如果 a[0]>a[4], 2>8,不成立条件,进入四次循环
for(int i=0;i<a.length;i++){
System.out.println(a[i]);


}                                  // a[0]>a[5], 2 >1 ,成立,
                                  // int temp = a[x]:2 
                                      // a[x]=a[y]:1
                                  // a[y]=temp:2
    }                                      // 第一轮循环,这时的排序是 1,6,7,3,8,2
}                                      
                                     //  以此循环,第二轮的排序是 1,2,7,6,8,3
                                               
                                             // 第三轮排序是 1,2,3,7,8,6
                                                      // 第四轮排序是 1,2,3,6,8,7
                                                    //    第五排序是  1,2,3,6,7,8
   
 
 
 
0 0