Friday, November 19, 2010

/* Program for binary search using recursion*/

/* Program for binary search in c*/

#include<stdio.h>
#include<conio.h>

int binsearch(int [],int,int,int);
void main()
            {
            int ar[]={12,23,32,34,45};
            int i,lb=0,ub=4,ser;
            clrscr();
            printf("Enter search ele :-");
            scanf("%d",&ser);
            int f=binsearch(ar,ser,lb,ub);
            if(f == 1)
                        printf("Ele found....");
            else
                        printf("Ele not found...");
            getch();
            }

int binsearch(int ar[],int ser,int lb,int ub)
            {
            int mb=(lb+ub)/2;
            if(lb>ub)
                        return 0;
            if(ar[mb] == ser)
                        return 1;
            if(ser>ar[mb])
                        {
                        lb=mb+1;
                        binsearch(ar,ser,lb,ub);
                        }
            if(ser<ar[mb])
                        {
                        ub=ub-1;
                        binsearch(ar,ser,lb,ub);
                        }
            }



/* Program for binary search in java*/

class binsearchprog
{
public void main()
            {
            int ar[]={12,23,32,34,45};
            int i,lb=0,ub=4,ser;
            ser=12;
            int f=binsearch(ar,ser,lb,ub);
            if(f == 1)
                        System.out.println("Ele found....");
            else
                        System.out.println("Ele not found...");
            }

int binsearch(int ar[],int ser,int lb,int ub)
            {
            int mb=(lb+ub)/2;
            if(lb>ub)
                        return 0;
            if(ar[mb] == ser)
                        return 1;
            if(ser>ar[mb])
                        {
                        lb=mb+1;
                        binsearch(ar,ser,lb,ub);
                        }
            if(ser<ar[mb])
                        {
                        ub=ub-1;
                        binsearch(ar,ser,lb,ub);
                        }
            }

No comments: