程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++-折半查找程序,輸入後就崩潰,誰能幫忙看一下

c++-折半查找程序,輸入後就崩潰,誰能幫忙看一下

編輯:編程解疑
折半查找程序,輸入後就崩潰,誰能幫忙看一下

#include
#include
using namespace std;
int half(int,vector );
int low=0;
int high=7;
int main(){
int b[10]={1,10,15,17,18,21,22,35,54,65};
vector a(b,b+10);
cout<<"請輸入要査找的數:";
int number;
cin>>number;
if(half(number,a)){
cout<<"ok";
}
return 0;
}

int half(int number,vector <int> a){
    int mid=(high-low)/2;
    if(number>a[mid]){
        a[low]=a[mid+1];
        half(number,a); 
    }
    else if(number<a[mid]){
        a[high]=a[mid-1];
        half(number,a);
    }
    else if (number==a[mid]){           
        return 1;
    }       
}

最佳回答:


a[high]=a[mid-1],這樣做完全沒有意義吧。應該是high=mid-1,對於low也是low=mid+1

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved