locate(二分法检索).cpp

来自「用C++编写的基于插值算法的两种检索算法」· C++ 代码 · 共 38 行

CPP
38
字号
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/*********************************本算法由PRINCETH倾情提供!欢迎提宝贵意见*****************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
/******************************************************************************************************************************/
void locate(double xx[], int n, double x, int& j)
{
	int jl,ju,jm;
    jl = 0;
    ju = n + 1;
loop:  if (ju - jl > 1)
		{
        jm = (ju + jl) / 2;
        if ((xx[n] > xx[1]) && (x > xx[jm] ))
            jl = jm;
        else
		{
            ju = jm;
		}
        goto loop;
		}
    j = jl;
}

⌨️ 快捷键说明

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