/// <summary>/// 直接插入排序,从小到大/// </summary>/// <param name="array">要排序的数组</param>static void InsertSort(int[] array){for(int i = 1; i < array.Length; i++){int value = array[i];//保存要插入的数据//从排好序的序列里倒着比较for (int j = i-1; j >=0; j--){//大到小改变符号方向if (value < array[j]){//比较的对象向后移动一位array[j + 1] = array[j];//将保存的数据放到与它比较的数据的位置array[j] = value;}}}}
不是很明白有些算法新建了一个数组用来保存排好序的数据.....
原理:将一个待排数据插入到已经排好序的序列中
时间复杂度:O(n^2),比冒泡和选择排序好一些