插入排序算法

插入排序算法演示:

对数列9、1、5、3、8按从小到大排序:

对第2个数排序

9   

1   

5   

 3  

 8  

9

 

5

3

8

 

9

5

3

8

1

9

5

3

8

 对第3个数排序

1

9

 

3

8

1

 

9

3

8

1

5

9

3

8

 对第4个数排序

1

5

9

 

8

1

5

 

9

8

1

 

5

9

8

1

3

5

9

8

  对第5个数排序

1

3

5

9

 

1

3

5

 

9

1

3

5

8

9

 

 

 

 

 

算法: 

public class InsertionSorter    
{    
   public void Sort(int[] arr)    
   {    
       for (int i = 1; i < arr.Length; i++)    
       {    
           int t = arr[i];    
           int j = i;    
           while ((j > 0) && (arr[j - 1] > t))    
           {    
               arr[j] = arr[j - 1];//交换顺序    
               --j;    
           }    
           arr[j] = t;    
       }    
   }     
}    

 参考:http://www.cnblogs.com/kkun/archive/2011/11/23/2260265.html 


原文地址:https://www.cnblogs.com/saysmy/p/5594898.html