C# 插入排序(数据结构与算法)
1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 
 5 namespace BubbleSort
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11             TestArray nums = new TestArray(10);
12             #region  初始化数组
13             Random rnd = new Random(100);
14             for (int num = 0; num < 10; num++)
15             {
16                 nums.Insert(rnd.Next(0,100));
17             }
18             #endregion
19             Console.WriteLine("Before Sorting: ");
20             nums.DisplayElements();
21             Console.WriteLine("Durring Sorting: ");
22             nums.InsertionSort();
23             Console.WriteLine("After Sorting: ");
24             nums.DisplayElements();
25             Console.ReadLine();
26         }
27     }
28 }
29 public class TestArray
30 {
31     private int[] arr;
32     private int upper;
33     private int numElements;
34     public TestArray(int size)
35     {
36         arr = new int[size];
37         upper = size - 1;
38         numElements = 0;
39     }
40     public void Insert(int item)
41     {
42         arr[numElements] = item;
43         numElements++;
44     }
45     public void DisplayElements()
46     {
47         for (int num = 0; num <= upper; num++)
48         {
49             Console.Write(arr[num]+" ");
50         }
51         Console.WriteLine();
52     }
53     public void Clear()
54     {
55         for (int num = 0; num <= upper; num++)
56         {
57             arr[num] = 0;
58         }
59         numElements = 0;
60     }
61     //插入排序算法
62     public void InsertionSort()
63     {
64         int inner, temp;
65         for(int outer=1;outer<=upper;outer++)
66         {
67             inner=outer;
68             temp=arr[outer];
69             while(inner>0 && arr[inner-1]>=temp)
70             {
71                 arr[inner]=arr[inner-1];
72                 inner-=1;
73             }
74             arr[inner]=temp;
75             this.DisplayElements();
76         }
77     }
78 }
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号