/**
Program Name: Binary Search
Description: This Program Searches for an Item in an integer Array
Author: Tauqirul Haque
*/
#define SIZE 10
void displayElement(int data[SIZE]);
void binarySearch(int data[], int);
void displayElement(int data[SIZE])
{
int i;
for(i=0; i
{
printf("\n Data[%d] = %d ", i+1, data[i]);
}
printf("\n");
}
void main()
{
int data[SIZE] = {12,24,56,58,78,90,91,99,100,107};
int item;
int choice;
while(choice != 3)
{
printf("\n\t\t 1. Search an Item ");
printf("\n\t\t 2. Display The Elements ");
printf("\n\t\t 3. Quit the Program");
printf("\n\n\t\t Enter Your Choice # ");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("\nEnter the Element you want to Search # ");
scanf("%d",&item);
binarySearch(data,item);
break;
case 2:
displayElement(data);
break;
case 3:
printf("Program Terminated ... \n");
getch();
exit(0);
}
}
}
void binarySearch(int data[SIZE], int item)
{
int beg=0;
int end=SIZE-1;
int mid = (beg+end)/2;
while(beg <= end && data[mid] != item)
{
if(item < data[mid])
{
end = mid -1 ;
}
else
{
beg = mid + 1;
}
mid = (beg+end)/2;
}
if(item == data[mid])
{
printf("\nSearch SUCCESSFULL # Item Location = %d \n", mid+1);
}
else
{
printf("\nSearch UNSUCCESSFULL # Item not in the List ...\n");
}
}
Program Name: Binary Search
Description: This Program Searches for an Item in an integer Array
Author: Tauqirul Haque
*/
#define SIZE 10
void displayElement(int data[SIZE]);
void binarySearch(int data[], int);
void displayElement(int data[SIZE])
{
int i;
for(i=0; i
{
printf("\n Data[%d] = %d ", i+1, data[i]);
}
printf("\n");
}
void main()
{
int data[SIZE] = {12,24,56,58,78,90,91,99,100,107};
int item;
int choice;
while(choice != 3)
{
printf("\n\t\t 1. Search an Item ");
printf("\n\t\t 2. Display The Elements ");
printf("\n\t\t 3. Quit the Program");
printf("\n\n\t\t Enter Your Choice # ");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("\nEnter the Element you want to Search # ");
scanf("%d",&item);
binarySearch(data,item);
break;
case 2:
displayElement(data);
break;
case 3:
printf("Program Terminated ... \n");
getch();
exit(0);
}
}
}
void binarySearch(int data[SIZE], int item)
{
int beg=0;
int end=SIZE-1;
int mid = (beg+end)/2;
while(beg <= end && data[mid] != item)
{
if(item < data[mid])
{
end = mid -1 ;
}
else
{
beg = mid + 1;
}
mid = (beg+end)/2;
}
if(item == data[mid])
{
printf("\nSearch SUCCESSFULL # Item Location = %d \n", mid+1);
}
else
{
printf("\nSearch UNSUCCESSFULL # Item not in the List ...\n");
}
}
Comments