-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathBinarySearch.cpp
More file actions
45 lines (36 loc) · 916 Bytes
/
BinarySearch.cpp
File metadata and controls
45 lines (36 loc) · 916 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// code by yctseng1227
#include <iostream>
#include <algorithm>
using namespace std;
int BinarySearch(int data[], int search, int n) {
int left=0, right=n-1;
while (left <= right){
int mid = (left + right) / 2;
if (data[mid] == search) {
return mid;
}else if (data[mid] > search) {
right = mid - 1;
}else if (data[mid] < search) {
left = mid + 1;
}
}
return -1; //not found
}
int main(){
int search, ans;
int data[10] = {};
cout << "Please enter 10 numbers: \n";
for(int i=0; i<10; i++){
cin >> data[i];
}
sort(data, data+10);
cout << "Please enter number you want to find\n";
cin >> search;
ans = BinarySearch(data, search, sizeof(data) / sizeof(int));
if (ans < 0){
cout << "Not found...\n";
}else{
cout << "Find it !!\n";
}
return 0;
}