直接插入排序

基本原理:

在一个有序的数字队列中,插入一个新的数字并维持排序。

 

图解:7 5 3 9从小到大排序:

 

具体实现方法:

 1         private static void Sort()
 2         {
 3             int[] LiArray = new int[] { 7, 5, 3, 9 };
 4 
 5             for (int i = 1; i < LiArray.Length; i++) 
 6             {
 7                 //当前数字,循环比较前面所有数字。
 8                 for (int j = i; j > 0; j--) 
 9                 {
10                     if (LiArray[j] < LiArray[j - 1])
11                     {
12                         //交换位置
13                         Swap(LiArray, j - 1, j);
14                     }
15                 }
16             }
17         }
18 
19         private static void Swap(int[] liArray, int first, int after)
20         {
21             liArray[first] = liArray[first] ^ liArray[after];
22             liArray[after] = liArray[first] ^ liArray[after];
23             liArray[first] = liArray[first] ^ liArray[after];
24         }    
View Code

 

posted @ 2018-07-20 17:14  剑诀浮云  阅读(135)  评论(0编辑  收藏  举报