Selection sort 选择排序法

大概就是用第一个元素和它后面所有元素比大小,找到最小的一个和它交换位置。然后再用第二个元素和它后面所有元素比大小以此类推。

Code:

SelectionSort(List list,int size) {
   int indexSmallest = 0;
   int temp = 0;  
   for (int i = 0; i < size - 1; i++) {
      indexSmallest = i;
      for (int j = i + 1; j < size; j++) {     
         if ( list[j] < list[indexSmallest] ) {
            indexSmallest = j;
         }
      }
      temp = numbers[i];
      numbers[i] = numbers[indexSmallest];
      numbers[indexSmallest] = temp;
   }
}

Insertion sort 插入分类

(有点难以用语言表达,改天想好了再更新)

Code:

InsertionSort(List list,int size) {
   int index = 0;
   int temp = null;  
   for (int i = 1; i < size; i++) {
      index = i;
      while (index > 0 && list[index] < list[index - 1]) {
         temp = list[index];
         list[index] = list[index - 1];
         list[index - 1] = temp;
         index--;
      }
   }
}