【提高篇】經典演算法——有序表的二分查詢
阿新 • • 發佈:2019-01-23
#include <stdio.h> #define SIZE 10 /* *csdn學院--2016級 *目的:讓程式碼見證成長(作為一個初學的菜鳥,如 *大家有發現錯誤,歡迎指正!) *檔名稱:Myfun150.c *作者:小臣小仁 *問題描述:經典演算法——有序表的二分查詢 *完成日期:2017年4月23日 */ int main() { int arr[SIZE]={5,7,12,14,16,23,26,31,46,55}; int key,low=0,high=SIZE-1; int mid,index=-1; printf("please enter a search number!"); scanf("%d",&key); while(low<=high) { mid=(low+high)/2; if(arr[mid]==key) { index=mid; break; } if(arr[mid]<key) low=mid+1; else high=mid-1; } if(index>=0) printf("Array lookup location:a[%d]\n",index); else printf("Not found!\n"); return 0; }