جستجو دودویی در زبان برنامه نویسی ++C کدشو براتون گذاشتم.خیلی ساده کار شده سریع میتویند متوجه نحوه اجرا کد ها بشید....

#include<iostream.h>
#include<conio.h>

#define size 10
//--------------------------Buble Sort-------------------------------
void bubleSort(int num[],int numSize)
{
int temp=0;
for(int i=numSize;i>0;i--)
{
for(int j=0;j<i;j++)
if(num[j] > num[j+1])
{
temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}

}
[SIZE=2]//-----------------------Binary Search-------------------------------------
int binary_search(int arr[],int arrsize,int obj)[/SIZE]
{
int first = 0;
int last = arrsize;
int middle = (first + last) / 2;

while(last >= first)
{
if(arr[middle] == obj)
{
return middle;
}
else if(arr[middle] > obj)
{
last = middle-1;
middle = (first + last) / 2;
}else
{
first = middle+1;
middle = (first + last) / 2;
}
}
return -1;
[SIZE=2]}[/SIZE]
//--------------------------Main ------------------------------------
main()
{

int test[size]={10,19,12,18,15,17,11,14,13,16};
int searchobj=0;
int flag;

//sort array
bubleSort(test,size-1);

cout<<"Enter number to search : ";
cin>>searchobj;

flag =[SIZE=2] binary_search(test,size-1,searchobj);[/SIZE]

if(flag != -1)
cout<<"\nfind item in element "<<flag+1<<" .";
else cout<<"\nnot found.";

getch();
return 0;
}