插入排序的基本原理就是:从数组的开始循环,判断当前这个数和下一个数的大小,如果大于或者小于
那么,就向上或向下判断是否有大于或小于当前的数
图示:
所以说代码如下:
public void InsertSort(int[] unsort){ for (int i = 1; i < unsort.Length; i++) { if (unsort[i-1]>unsort[i]) { int temp = unsort[i]; int j = i; while (j>0&&unsort[j-1]>temp) { unsort[j] = unsort[j - 1]; j--; } unsort[j] = temp; } } }
static void Main(string[] args) { int[] x = { 6, 2, 4, 1, 5, 9 }; d(x); foreach (var item in x) { if (item > 0) Console.WriteLine(item + ","); } Console.ReadLine(); }