二分查找

#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define N 1024
void main()
{
	int a[N]={0};
	for (int i=0;i<N;i++)
	{
		a[i]=i;
		printf("%-6d",a[i]);
		if ((i+1)%10==0)
		{
			printf("\n");
		}
	}
	//二分算法
	printf("\n\n");
	int shang=0;
	int xia=1023;
	int num=372;
	while(shang<=xia)
	{	
		int zhong=(shang+xia)/2;
		printf("shang=%d,zhong=%d,xia=%d\n",shang,zhong,xia);
		if (num==a[zhong])
		{
			printf("找到\n");
		
			break;
		}
		else if (num>a[zhong])
		{
			shang=zhong+1;
		}
		else
		{
			xia=zhong-1;
		}
	}







	system("pause");
}

  

posted @ 2021-10-07 22:01  admrty  阅读(29)  评论(0)    收藏  举报