資料結構C語言實現----折半查詢
阿新 • • 發佈:2020-07-28
執行結果:
程式碼如下:
#include<stdio.h> //陣列初始化函式 void Array_get(int array[],int max) { printf("請輸入一個數組,大小從低到高,各個數字間以空格隔開:"); for (size_t i = 0; i < max; i++) { scanf("%d",&array[i]); } } //折半查詢 int bin_search(int array[] , int max , int key) { int mid; int low = 0; int high = max-1; while (low<=high) { mid = (high-1+low)/2; if (key<array[mid]) { high = mid-1; }else if (key>array[mid]) { low = mid+1; }else if (key==array[mid]) { return mid; } } } int main() { int max,key; printf("請輸入陣列元素個數:"); scanf("%d",&max); int array[max]; Array_get(array,max); printf("請輸入要查詢的數字:"); scanf("%d",&key); printf("%d在第%d位",key,bin_search(array,max,key)+1); return 0; }