二分查找(时间复杂度为O(logn))

来源:互联网 发布:恋爱循环mmd相机数据 编辑:程序博客网 时间:2024/05/01 13:47

//二分查找函数
int BinarySearch(const int A[], int 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;
printf(“%d\n”, Low);
}
else if (A[Mid] > X) {
High = Mid - 1;
}
else
return Mid;
}
return 0;
}

//主函数
void main() {
int A[100];
for (int i = 0; i < 100; i++) {
A[i] = i;
}
int s= sizeof(A) / sizeof(int) ;
printf(“%d\n”, BinarySearch(A,30,s));
}

阅读全文
0 0