参考:Wiki 排序算法
插入排序
插入排序的基本思想是,将元素逐个添加到已经排序好的数组中去,同时要求,插入的元素必须在正确的位置,这样原来排序好的数组是仍然有序的。
public static void InsertSort(double[] data){int i, j;var count = data.Length;for (i = 1 ; i < count ; i++){var t = data[i];for(j = i - 1; j >= 0 && data[j] > t; j--){data[j + 1] = data[j];}data[j + 1] = t;}}
冒泡排序
冒泡排序的基本思想是,不断比较相邻的两个数,让较大的元素不断地往后移。经过一轮比较,就选出最大的数;经过第2轮比较,就选出次大的数,以此类推。
static void BubbleSort(int[] intArray){int temp = 0;bool swapped;for (int i = 0; i < intArray.Length; i++){swapped = false;for (int j = 0; j < intArray.Length - 1 - i; j++){if (intArray[j] > intArray[j + 1]){temp = intArray[j];intArray[j] = intArray[j + 1];intArray[j + 1] = temp;if (!swapped)swapped = true;}}if (!swapped){return;}}}
