您的位置:首页 > 其它

插入排序

2016-02-27 15:08 225 查看
void Insert(int *a,int length)

{

int tmp = 0;

int k = 0;

for (int i = 1; i < length;i++)

{

//一定要有k记录位置

k = i;
tmp = a[i];
//1.从拿到元素位置开始,向前找,找到插入位置
//2.从插入位置后一个向后开始挨个后移一直到拿到元素的位置 ()
for (int j = i - 1; j > 0 && (a[j] > tmp );j--)
{

if (a[i]< a[j])

{

a[j+1] = a[j];//后移腾出位置

k = j;
//(确定插入位置)

}

}
a[k] = tmp;

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: