java中的排序---选择排序

1.思路

选择排序的思想是,每一趟在剩余数字选出一个最大(最小)的数,与前一个比较。把该数放到前面已经排好的队列中,整个过程下来,这一列数据就排好了。

2.代码实现

private int[] selectUpSort(int[] a){  
  //选择排序的思想是一次只排一个 小的放前面  每一次下来都会选择最小的一个   
/* for(int i=0;i<a.length-1;i++){   
     //交换了很多次   方法不妥 
       for(int j=i+1;j<a.length-1;j++){   
         if(a[j]<a[i]){    
            int tem = a[j];  
                a[j]= a[i];     
               a[i] = tem;   
         }      
  }  
  }*/  
 // 选择排序的思想是一次只排一个 小的放前面  每一次下来都会选择最小的一个  每一个与之前的那个比较 
   for (int i=0,k=0;i<a.length-1;i++,k=i){
            for (int j=0;j<i+1;j++){      
              if(a[j]<a[k]){
                    k=j;   
             }       
           a[k] = temp;   
        }   
 }  
  return a;
}

注释部分由于每次都和前面的交换,每一轮循环的时候可能会执行好多次与排好序的队列的交换。使用我们采用在余下的里面找到最小的,直接与之前的队列交换。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容