#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void main()
{
int num[1024];
int up = 0, down = 1023, mid;
for (int i = 0; i < 1024; i++) //数组里面的元素必须是有序的
{
num[i] = i;
}
int number;
scanf("%d", &number);
if (number < 0 || number>1023)
{
printf("Not in scope\n");
goto done;
}
while (1)
{
mid = (up + down) / 2;
printf("%d,%d,%d\n", num[up], num[mid], num[down]);
if (number == num[mid])
{
printf("I find it.\n");
break;
}
else if (number > num[mid])
{
up = mid + 1;
}
else
{
down = mid - 1;
}
}
done: system("pause");
}
数组的简单二分查找
最新推荐文章于 2022-02-25 00:49:01 发布