1 #include <iostream>
2 #include <algorithm>
3 #include <vector>
4 #include "example_vec.h"
5 #include "printCollection.h"
6 using namespace std;
7
8 extern vector<int> example_vec;
9
10 template<typename comparable>
11 int binarySearch(const vector<comparable> &a, const comparable &x){
12 int low = 0, high = a.size() - 1;
13
14 while(low <= high)
15 {
16 int center = (high + low)/2;
17 if(x < a[center])
18 high = center - 1;
19 else if(x > a[center])
20 low = center + 1;
21 else
22 return center;
23 }
24
25 return -1;
26 }
27 int main(){
28
29 cout << "The count of array is: " << example_vec.size() << endl;
30
31 printCollection(example_vec);
32
33 stable_sort(example_vec.begin(), example_vec.end());
34
35 printCollection(example_vec);
36
37 cout << "The index of 13 is " << binarySearch(example_vec, 13) << endl;
38
39 return 0;
40
41 }