/// <summary>
/// 插入排序
/// </summary>
/// <param name="sort"></param>
public static int[] Sort(int[] sort)
{
for (int i = 0; i < sort.Length; i++)
{
int currentCount = sort[i]; //把当前循环到的数值取出来
int currentIndex = i; //把当前循环到的索引取出来
while (currentIndex > 0 && sort[currentIndex - 1] > currentCount) //索引大于0并且当前位置的前一个数值大于当前的数
{
sort[currentIndex] = sort[currentIndex - 1]; //因为是从大到小,所以与前边的一个调换位置
currentIndex--; //当前的索引减1,因为前边都已经排序所以都小于当前数,所以索引都要减1
}
sort[currentIndex] = currentCount; //
}
return sort;
}
/// 插入排序
/// </summary>
/// <param name="sort"></param>
public static int[] Sort(int[] sort)
{
for (int i = 0; i < sort.Length; i++)
{
int currentCount = sort[i]; //把当前循环到的数值取出来
int currentIndex = i; //把当前循环到的索引取出来
while (currentIndex > 0 && sort[currentIndex - 1] > currentCount) //索引大于0并且当前位置的前一个数值大于当前的数
{
sort[currentIndex] = sort[currentIndex - 1]; //因为是从大到小,所以与前边的一个调换位置
currentIndex--; //当前的索引减1,因为前边都已经排序所以都小于当前数,所以索引都要减1
}
sort[currentIndex] = currentCount; //
}
return sort;
}