static void InsertSort(int[] nums) { //外层循环控制要插入的元素 for (int i = 1; i <= nums.Length - 1; i++) { int index=i; int insert=nums[i]; //控制要比较的元素(找位置) for (int j = 0; j <= i - 1; j++) { if (nums[i] >nums[j]) { index = j; break; } } //挪位置 for (int k = i - 1; k >= index; k--) { nums[k + 1] = nums[k]; } //插入 nums[index] = insert; } } static void Main(string[] args) { int[] nums = new int[10]; Random random = new Random(); for (int index = 0; index < nums.Length; index++) { nums[index] = random.Next(100); } Console.WriteLine("排序前的数组"); foreach (var n in nums) { Console.Write(n + "\t"); } Console.WriteLine(); Console.WriteLine(); //调用排序方法(将待排序的数组传递) //BubbleSort(nums); //ChoiceSort(nums); //InsertSort(nums); Console.WriteLine("排序后的数组"); foreach (var n in nums) { Console.Write(n + "\t"); } Console.WriteLine(); } }
插入法排序
最新推荐文章于 2020-10-19 16:41:14 发布