C#插入排序☞递归实现
<div id="cnblogs_post_body"><div class="cnblogs_code"> int[] arr = new int[] { 1, 5, 6, 9, 2, 45, 36 };//任意数组 Recursion(arr, arr.Length - 1); foreach (var item in arr) { Console.WriteLine(item); } /// <summary> /// 递归遍历 /// </summary> /// <param name="arr">数组</param> /// <param name="n">数组索引</param> public static void Recursion(int[] arr, int n) { if (n > 0) { Recursion(arr, n - 1); Insert(arr, n); } else return; } /// <summary> /// 插入排序 /// </summary> /// <param name="arr">数组</param> /// <param name="n">当前索引</param> static void Insert(int[] arr, int n) { int i = n - 1; int key = arr; while ((i >= 0) && (key < arr)) { arr+ 1] = arr; i--; } arr+ 1] = key; return; }
页:
[1]