您的位置:首页 > 理论基础 > 数据结构算法

[数据结构与算法] : 二分查找

2017-09-10 03:41 363 查看
#include <stdio.h>

#define NotFound -1;
typedef int ElementType;

int BinarySearch( const ElementType A[], ElementType X, int N )
{
int Low, Mid, High;

Low = 0; High = N-1;
while( Low <= High ) // 注意终止条件
{
Mid = (Low + High) / 2;
if( A[Mid] < X )
Low = Mid + 1;
else if( A[Mid] > X )
High = Mid - 1;
else
return Mid;
}
return NotFound;
}

int main()
{
int arr[10] = {1, 2, 3, 5, 6, 7, 9, 10, 12, 15};
int sizeofA = sizeof(arr) / sizeof(arr[0]);
printf("BinarySearch returns %d\n", BinarySearch(arr, 9, sizeofA));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: