直接插入排序
作者:互联网
class Program
{
static void InserSort(int[] dataArray)
{
for (int i = 0; i < dataArray.Length; i++)
{
int iValue = dataArray[i];
bool isInsert = false;
//拿到i位置的元素 跟前面所有的元素作比较
//如果发现比i大的,就让他向后移动
for (int j = i-1; j >=0; j--)
{
if (dataArray[j]> iValue)
{
dataArray[j + 1] = dataArray[j];
}
else
{
//发现一个比i小的值就不动了
dataArray[j+1] = iValue;
isInsert = true;
break;
}
}
if (!isInsert)//如果iValue是最小的,把他放到索引为0的位置
{
dataArray[0] = iValue;
}
}
}
static void Main(string[] args) {
int[] data = new int[] { 42,20,17,27,13,8,17,48};
InserSort(data);
foreach (var item in data)
{
Console.Write(item+" ");
}
Console.ReadKey();
}
}
标签:isInsert,int,插入排序,iValue,static,直接,data,dataArray 来源: https://blog.csdn.net/qq258456qq/article/details/100098570