[問題] 利用binary search在一個128數字的陣列

看板C_and_CPP作者 (雷空)時間11年前 (2014/03/08 22:11), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) c++ #include<iostream> #include<cstdlib> #include<ctime> using namespace std; void generate_number(int [],int); void bubble_sort(int [],int); bool binary_search(int [],int ,int &); int main(void) { int a[128]; int n=128; int x; int p; bool found; srand(time(0)); generate_number(a,n); bubble_sort(a,n); while(1) { cout<<"輸入要找的資料"; cin>> x; found=binary_search(a,x,p); if(found) cout<<"存放於"<<p+1<<"個位子"; else cout<<"找不到"; system("pause"); } return 0; } void generate_number(int a[],int n) { int i; for(i=0;i<n;i++) a[i] = rand() % 200+1; } void bubble_sort(int a[],int n) { int i,j,b,temp; b=4; for(i=0;i<b-1;i++) for(j=0;j<(b-i-1);j++) if(a[j] >a[j+1]) { temp=a[j]; a[j]= a[j+1]; a[j+1]=temp; } } bool binary_seerch(int a[],int x ,int &p) { int w=0, y=128; while(w < y) { int mid =( w + y) / 2; if (a[mid] < x) y = mid + 1; else if (a[mid] > x) w = mid - 1; else if (a[mid] == x) return &p; } } 不知道錯 在哪麻煩各位幫忙 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.160.176.25

03/08 22:52, , 1F
03/08 22:52, 1F

03/08 23:18, , 2F
嗯..錯蠻大的.先查一下什麼叫 reference,return value.
03/08 23:18, 2F

03/09 04:10, , 3F
結構有點亂耶~~怎麼會參考又return??
03/09 04:10, 3F
文章代碼(AID): #1J6oK39L (C_and_CPP)