选择排序包括:简单选择排序和堆排序
简单选择排序:
基本思路:从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推
/// <summary> /// 简单选择排序 /// 稳定性:不稳定 /// 时间复杂度:O(n^2) /// 空间复杂度:O(1) /// </summary> public static int[] SimpSelectSort(int[] array) { int temp = 0; for (int i = 0; i < array.Length; i++) { int minIndex = i; for (int j = i + 1; j < array.Length; j++) { if (array[minIndex] > array[j]) { minIndex = j; } } temp = array[minIndex]; array[minIndex] = array[i]; array[i] = temp; } return array; }
堆排序:
基本思路:利用堆的特性进行排序
//TODO
原文:http://www.cnblogs.com/moulton/p/6424017.html