#include "stdio.h"
int bisearch(int a,int low,int high,int k);
int main()
; printf("請輸入你要查詢的數\n");
scanf("%d",&s);
printf("待查詢的數 %d\n",s);
pos=bisearch(a,0,9,s);//引數傳遞弄錯了,k和s。
if(pos==-1)
printf("沒有找到該數\n");
else
printf("%d在陣列中位置是%d\n",s,pos);
return 0;
}/*int bisearch(int a,int low,int high,int k)
{ int mid;
while(low<=high)
{ mid=(low+high)/2;
if(k==a[mid])return mid;
else if(khigh)
return -1;
else
{ mid=(low+high)/2;
if(a[mid]==k)
return mid;
if(a[mid]
函式呼叫引數之間關係還是把握不是太好。
同時要分辨好陣列下標值和陣列值的區別。
java演算法 折半查詢 遞迴演算法和非遞迴演算法
package ceshi public class bisearch param args 折半查詢 當查詢表是有序表時,可採用折半查詢 基本思想 在有序表中,取中間元素作為比較物件,若給定值k與中間記錄關鍵字相等,則查詢成功 若給定值k小於中間記錄的關鍵字,則在表的左半區繼續查詢 若給定值k大於...
折半查詢遞迴和非遞迴實現
折半查詢,在此做一總結,遞迴和非遞迴實現如下所示 1 data增序排列3 非遞迴折半查詢 4int binarysearch int data,int keyvalue,int len 15return 1 16 1718 遞迴折半查詢 19int binarysearchrecursion int...
折半查詢法(遞迴二分演算法)(非遞迴二分演算法)
include include include define max 10001 using namespace std int a max key intsearch int bot,int top 傳過陣列下標來,恰好可以呼叫全域性變數a max 如果傳過來陣列,位置變動不如下標容易 else ...