sort.cpp

来自「VC实现的常用数值计算方法」· C++ 代码 · 共 51 行

CPP
51
字号
void sort(int n, double ra[])
{
    int i,j,l,ir;
	double rra;
	l = int(n / 2) + 1;
    ir = n;
    do
	{
        if (l > 1)
		{
            l = l - 1;
            rra = ra[l];
		}
        else
		{
            rra = ra[ir];
            ra[ir] = ra[1];
            ir = ir - 1;
            if (ir == 1)
			{
              ra[1] = rra;
              return;
            }
        }
        i = l;
        j = l + l;
        while (j <= ir)
		{
            if (j < ir)
			{
                if (ra[j] < ra[j + 1])
				{
					j+=1;
				}
            }
            if (rra < ra[j])
			{
                ra[i] = ra[j];
                i = j;
                j += j;
			}
            else
			{
                j = ir + 1;
            }
        }
        ra[i] = rra;
    }while(1);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?