您的位置:首页 > 其它

二分查找

2015-08-06 15:20 393 查看
int iArraMax[10] = {2, 10,70,163,254,346,438, 726, 817,11};
int iBegain = 0;
int iEnd = 9;
int iMedium = iBegain + (iEnd-iBegain)/2;

int  iMaxV = -4;
while (iMedium >0 && iMedium <iEnd)
{
if (iArraMax[iMedium] >iArraMax[iMedium-1] &&
iArraMax[iMedium] >iArraMax[iMedium+1])
{
iMaxV = iArraMax[iMedium];
break;
}else if (iArraMax[iMedium] < iArraMax[iMedium+1])
{
iBegain = iMedium;
iMedium = iBegain + (iEnd - iBegain)/2;
}else{
iEnd = iMedium;
iMedium = iBegain +(iEnd - iBegain)/2;
}
}

int iSize = 10;
int iPosIndex = 1;
int iMaxValue = iArraMax[0];
int iTempIndex = 0;
while (iSize)
{
if (iArraMax[iPosIndex] > iMaxValue )
{
iMaxValue = iArraMax[iPosIndex];
iTempIndex = iPosIndex;
}
iPosIndex++;
iSize--;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: