- 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();
- }
- }
插入法排序 .
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.