JAVA选择排序

/*
    选择排序:
        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


*/


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

推荐阅读更多精彩内容