1. 程式人生 > >java實現選擇排序演算法

java實現選擇排序演算法

選擇排序(Selection sort)是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中 繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

下面是java實現選擇排序的程式碼片段:

public  void selectionSort(int data[],int n)
// pre: 0<=n <= data.length
// post: values in data[0..n-1] in ascending order  
{   
    int numUnsorted=n; // number of values not in order 
    int index;       // general index 
    int max;
    int temp;
    while (numUnsorted > 0)
    {
          //determine a maximum value in Array
          max=0;
          for (index=1; index < numUnsorted; index++)
            if (data[max] < data[index])
                  max=index;
          // swap data[max] and data[numUnsorted-1]
          temp                = data[max];
          data[max]           = data[numUnsorted-1];
          data[numUnsorted-1] = temp;
          numUnsorted--;
    }
}