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();
}
}
相关文章
- 10-24B - Red and Black 直接BFS+队列
- 10-24[转帖]长江存储:跳过96层 直接量产128层闪存
- 10-24Chrome使用小技巧-多用户登录、直接打开隐身模式窗口
- 10-24在Windows的IDEA上直接运行MapReduce
- 10-24插入排序的效率问题
- 10-24插入排序之python实现源码
- 10-2434、知识点补充之直接赋值、浅拷贝和深度拷贝解析
- 10-24VC++大数据量绘图时无闪烁刷屏技术实现(我的理解是,在内存上作画,然后手动显示,而不再直接需要经过WM_PAINT来处理了)
- 10-24muduo 的 shutdown() 没有直接关闭 TCP 连接?
- 10-24直接请求URL调用 axis webservices