zhebanchazhao.cpp

来自「用折半查找的方法进行指定数的查询并返回其位置」· C++ 代码 · 共 56 行

CPP
56
字号
#include"stdio.h"
#define n 10
void sort(num)
int num[n];
{
   int  i,j,min,temp1;
   for(i=0;i<n-1;i++)
     { min=i;
	 for(j=i;j<n;j++)
		 if(num[min]>num[j])
			min=j;
			temp1=num[i];
			num[i]=num[  min];
			num[min]=temp1;
      }
     printf("follow is  the  order\n");
     for(i=0;i<n;i++)
       printf("%d\n",num[i]);
   }
 void search(m,num)
   int m,num[];
   {       int top,bot,min,loca;
	    loca=0;
	    top=0;
	    bot=n-1;
  if((m<num[0])||(m>num[n-1]))
	loca=-1;
	while((loca==0)&&(top<=bot))
    {   min=(bot+top)/2;
	if(m==num[min])
      {
	loca=min;
	printf("%d is num[%d]\n",m,loca);
      }
	else if(m<num[min])
	 bot=min-1;
	 else
	 top=min+1;
    }
	 if(loca==-1)
	   printf("%d.isnot in this num\n",m);
 }
void main()
{
  int num[n],i,number;
     printf("\n******** please input  10  number*******\n");
       for(i=0;i<n;i++)
	 scanf("%d",&num[i]);
	       printf("\n");
  sort(num);
  printf("please  input a number you want to  find\n");
        scanf("%d",&number);
  search(number,num);
  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?