#include<stdio.h> int search(int arr[],int start,int end,int key) { while(start<=end) { int m=(start+end)/2; if(arr[m]>key) end=m-1; else if(arr[m]<key) start=m+1; else return m; } return -1; } int main() { int arr[]={1,2,3,4,6,7,8,9}; int key,p; scanf("%d",&key); p=search( arr, 0,sizeof(arr)/sizeof(arr[0])-1, key); printf("%d\n",p); system("pause"); return 0; }
原文:http://760470897.blog.51cto.com/10696844/1702829