0
点赞
收藏
分享

微信扫一扫

C语言,求一个有序数组当中是否含有所找值,将该值的下标打出来

#include<stdio.h>

int tow_points(int arr[],int a,int sz)

{

int left=0;

int right=sz-1;

while(left<=right)

{

 int mid=(left+right)/2;

 if(arr[mid]<a)

 {

  left=mid+1;

 }

 if(arr[mid]>a)

 {

  right=mid-1;

 }

 if(arr[mid]==a)

 {

  return mid;

 }

}

if(left>right)

 return -1;

}

int main()

{

int arr[]={1,2,3,4,5,6,7,8,9};

int sz=sizeof(arr)/sizeof(arr[0]);

int a=8;

int b=tow_points (arr,a,sz);

if(-1==tow_points (arr,a,sz))

{

 printf("该数组当中没有您要查询的数\n");

}

else

{

 printf("该下标为:%d\n",b);

}

return 0;

}

C语言,求一个有序数组当中是否含有所找值,将该值的下标打出来_求下标

举报

相关推荐

0 条评论