📄 堆排序_大顶堆.txt
字号:
int sift(JD r[],int k,int m) //已知r[k...m]中除k之外均满足堆的定义,欲调整k后使r成为一个大顶堆
{ int i,j;
JD x;
i=k; x=r[i]; j=2*i;
while(j<=m)
{ if((j<m)&&{r[j].key>r[j+1].key)) j++; //j为值较小的记录的下标
if(x.key>r[j].key) //x应插入在i位置上
{ r[i]=r[j];
i=j;
j*=2; //沿值较小的孩子结点向下筛选
}
else j=m+1;
}
r[i]=x; //插入
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -