📄 indexx.cpp
字号:
void indexx(int n, double arrin[], int indx[])
{
int i,j,l,ir,indxt;
double q;
for (j = 1; j<=n; j++)
{
indx[j] = j;
}
if (n == 1)
{
return;
}
l = int(n / 2 + 1);
ir = n;
do
{
if (l > 1)
{
l = l - 1;
indxt = indx[l];
q = arrin[indxt];
}
else
{
indxt = indx[ir];
q = arrin[indxt];
indx[ir] = indx[1];
ir = ir - 1;
if (ir == 1)
{
indx[1] = indxt;
return;
}
}
i = l;
j = l + l;
while (j <= ir)
{
if (j < ir)
{
if (arrin[indx[j]] < arrin[indx[j + 1]])
{
j = j + 1;
}
}
if (q < arrin[indx[j]])
{
indx[i] = indx[j];
i = j;
j = j + j;
}
else
{
j = ir + 1;
}
}
indx[i] = indxt;
}while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -