-1
これがなぜ検索された要素のインデックスを返さないのか分かりません。入力はソートされた配列、そのサイズ、見つかる要素です。これはなぜ要素のインデックスを返さないのですか?
int binarySearch(int a[], int size, int key){
int mid = (size)/2;
if(a[mid] == key){
return mid;
}else if(size ==1 || size ==0){
return -1;
}
if(key<a[mid]){
return binarySearch(a, mid, key);
}else if (key > a[mid]){
return binarySearch(a+(mid), size-mid, key);
}
}
C++を学んでいるなら、標準ライブラリと 'std :: vector'のようなことを学びましょう。配列のポインタ/サイズのペアを渡すことは、単なる巨大な混乱です。 – tadman
あなたの質問に対する答えを見つける正しい方法は、デバッガを使うことです。 – aschepler
小さな失敗例(つまり、 'a'の内容と' key'の値)を指定してください。 –