插入排序
using System;
 /// <summary>
 /// 插入排序 的摘要说明。
 /// </summary>
 public class InsertSort
 {
  public static void Main()
  {
   //int[] intary=
{35,58,47,96,12,45,78};
   int[] intary={10,8,7,6,5,4,3,2,1,1};
   Console.WriteLine("排序前,输出数组如
下:");
   printArray(intary);
   insertSort(intary);
   Console.WriteLine("插入排序之后,输出
数组如下:");
   printArray(intary);
  }
  private static void printArray(int[] tmpary)
  {
   
   foreach(int tmpnum in tmpary)
   {
    Console.Write(tmpnum+"\t");
   }
   Console.WriteLine();
  }
        private static void insertSort(int[] ary)
  {
   int tmp;
   for(int i=1;i<ary.Length;i++)//从第2
个元素开始,准备待插入前方位置
   {
    for(int j=0;j<=i;j++)//在待插
元素前方寻找比它大的元素
    {
     if(ary[i]<ary[j])//找
到比它大的元素
     {
      tmp=ary[i];//
将待插元素保存下来
      for(int 
k=i;k>j;k--)//从待插位置向前移动
      {
       ary
[k]=ary[k-1];//将前面元素一个个向后移动
      }
      ary[j]=tmp;//
在找到的位置插入待插元素
     }
    }
   }
  }
 }
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号