当前位置:首页 > 数据结构(02331) > 正文内容

下面是对顺序表进行直接插入排序的算法,请填写以下空白并回答问题。
voidInsertSort(SeqListR,intn)
{
inti,j;
for(_____;i<=n;i++)
if(R[i].keyR[0]=R[i];//将当前记录复制为哨兵
for(j=i-l;R[O].key_____;//记录后移
_____;//R[i]插入到正确的位置
}<

高老师2年前 (2024-03-26)数据结构(02331)12

下面是对顺序表进行直接插入排序的算法,请填写以下空白并回答问题。
voidInsertSort(SeqListR,intn)
{
inti,j;
for(_____;i<=n;i++)
if(R[i].keyR[0]=R[i];//将当前记录复制为哨兵
for(j=i-l;R[O].key_____;//记录后移
_____;//R[i]插入到正确的位置
}
}

i=2; R[j+1]=R[j]; R[j+1]=R[O]。 解析:假设待排序的记录存储在数组R[1…n]中,在排序过程中的某一时刻,R被划分为两个子区间,R[1...i一1和 R[i...n],其中前一个为已排好序的有序区,后一个为无序区。排序过程中,只需要每次从无序区中取出第一个元素,把它插入到有序区的适当位置,使之成为新的有序区。

扫描二维码免费使用微信小程序搜题/刷题/查看解析。

版权声明:本文由翰林刷题小程序授权发布,如需转载请注明出处。

本文链接:https://doc.20230611.cn/post/432022.html

分享给朋友: