选择排序

一、什么是选择排序

        选择排序是选择一个标杆。然后将比标杆小的值排到标杆的左边,将比标杆大的值排到标杆的右边。随后不断缩小范围,直到全部元素排序完毕。

 二、代码示例

public static int sortUtil(int[] ints , int start , int end){ 

        //左边开始的位置

         int i=start; 

        //右边开始的位置

         int j=end;

        //标杆值

         int temp = ints[i];

          while(i<j){    

                //如果右边的值小于标杆值

                 if(ints[j]<temp){ 

                         //把值赋给左边i的位置

                          ints[i] = ints[j];

                           break;

                  }

                  j--;     

         }  

         while(i<j){  

                 if(ints[i]>temp){ 

                     ints[j]=ints[i];

                     break;     

                 }  

                 i++;

          } 

          ints[i]=temp;       

           return i ;  

}

//排序方法,需要进行递归调用

public static void selectionSort(int[] ints , int start , int end){

          if(start<=end){ 

                 int index = sortUtil(ints, start, end);

                //左边继续排序

                 selectionSort(ints, start, index-1); 

                //右边继续排序

                 selectionSort(ints, index+1, end);    

         }    

 }

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

推荐阅读更多精彩内容