# Thread: Implementing a binary search

1. ## Implementing a binary search

Hi. Does anyone have any idea on how one would implement a binary search in C++? Any ideas will be appreciated. I am designing a program that will read from a text file and has to be able to search for any character. I have the file I/O information, I need the code for the algorithm. Thanks. 2. In order to use the binary search.. you must first sort your array.. in this example.. i used a bubble sort.. followed by a binary search.

Code:
```
#include<iostream>
#include<cstdlib>
using namespace std;

int main()
{

system("cls");

int array = {90, 1, 43, 16, 32, 12, 6, 14, 96, 20, 3};

cout << "\nHere is the unsorted array: \n\n";

for(int i = 0; i < 11; i++)
{
cout << " " << array[i] << "  ";
}

cout << endl << endl;
system("pause");

//Bubble Sort Algorithm
for(int p = 0; p < 10; p++)			//The outter FOR loop will execute the
{									//bubble sort "array capacity - 1" times.

int place_holder = 0;

for(int i = 0; i < 10; i++)			//The inner FOR loop executes an
{									//"element by element" comparison
int j = i;

if(array[i] > array[++j])		//The "swap" algorithm will "push"
{								//larger numbers to the greater
place_holder = array[j];	//end of the array

array[j] = array[i];

array[i] = place_holder;
}

}

if(place_holder == 0)			//A switch is provided to "break" the
//FOR loop if no swaps are being made.
break;
}

cout << "\n\nHere is the sorted array: \n\n";

for(int i = 0; i < 11; i++)
{
cout << " " << array[i] << "  ";
}

cout << endl << endl;
system("pause");

int search_key = 0;
cout << "\n\nEnter an integer type search key: ";
cin >> search_key;

//Binary Search

int low = 0;
int high = 10;
int middle = 0;

while( low <= high )
{
middle = ( low  + high ) / 2;

if( search_key == array[middle] ) //match
{
cout << "\nYour search key '" << search_key << "' was found in array element ["
<< middle << "]\n\n"
<< "\nThank you for viewing my sort and search demonstration.";

return EXIT_FAILURE;
}

else if( search_key < array[middle] )

high = middle - 1;		//search low end of array

else

low = middle + 1;		//search high end of array
}

cout << "\nYour search key << search_key << is not part of the array.\n\n"
<< "Better luck next time.";

return EXIT_SUCCESS;

}``` 3. ## Looks Great

Thanks Brain. I'll study the example you have posted. Much obliged. 4. anytime  Popular pages Recent additions 