插入排序
namespace 插入排序 { class Program { static void Main(string[] args) { int[] A=new int[7]{2,5,4,1,3,6,8}; InsertSort(A); for (int i = 0; i < A.Length; i++) { Console.WriteLine(A[i].ToString()); } Console.ReadKey(); } public static void InsertSort(int[] R) { for (int i = 1; i < R.Length; i++) //外层循环,控制执行(n-1)趟排序 { if (R[i] < R[i - 1]) //判断大小,决定是否需要交换 { int temp = R[i]; //如果需要交换,则将待排序记录放入临时变量中 int j = 0; for (j = i - 1; j >= 0 && temp < R[j]; j--) //内层循环,在有序序列中从后往前比较,找到待排序记录在有序列中位置(位置空出) { R[j + 1] = R[j]; //将有序记录往后移 } R[j + 1] = temp; //将临时变量中的值放入正确位置,即空出的位置 } } } } }