数据结构-选择排序

  选择排序:

  通俗理解:把数组中的最小值直接与第一个值交换位置,以此类推,这样的排序叫选择排序;

  画图理解:如图所示,指针i和j指向第一个地址,k指向i,随着j往后移动,如果遇到比第i个小的,那么指针k就指向j,然后j继续往后移,直到找到最小的那一个k,然后交换k与i指针指向的值,这就找到了一个数组中最小的数直接与第一个数做交换。

  

  上代码:

  

 1 package simpleSort;
 2 
 3 /**
 4  * 是直接选择排序,直接交换数组中的最小值与第一个值;
 5  * @author caizhou
 6  *
 7  */
 8 public class xuanze {
 9     
10     public void sort(long[] arr){
11         
12         for(int i = 0 ; i<arr.length-1 ; i++){
13             int k = i;
14             for (int j =i ; j<arr.length ; j++){
15                 if(arr[j] < arr[k]){
16                     k = j;
17                 }
18             }
19             long tem = arr[i];
20             arr[i] = arr[k];
21             arr[k] = tem;
22         }
23     }
24 }

  到此选择排序讲完了,拜拜。

原文地址:https://www.cnblogs.com/caizhou520/p/12599345.html