selection sort

 

选择排序:有序部分和无序部分.主要思想:无序部分中选择最小的元素,并将其与无序部分第一个元素交换.

void selectionSort(int arr[], int n) {
      int i, j, minIndex, tmp;    
      for (i = 0; i < n ­ 1; i++) {
            minIndex = i; // 无序部分第一个元素下标
            for (j = i + 1; j < n; j++) // 寻找无序部分最小的元素下标
                  if (arr[j] < arr[minIndex])
                        minIndex = j;
            if (minIndex != i) { // 寻找无序部分最小的元素下标与无序部分第一个元素下标不一样,就交换两个元素值
          tmp = arr[i];
          arr[i]
= arr[minIndex];
          arr[minIndex]
= tmp;
        }
    }
}

 

posted @ 2016-08-18 07:05  PKICA  阅读(134)  评论(0编辑  收藏  举报