DS practical 8

 DS practical 8


#include <stdio.h>

struct Employee

{

  char employee_name[50];

  int emp_no;

  int emp_salary;

};

int count=0;

int binarySearch(int num,struct Employee ar[],int n)

{

    int mid;

    int l=n-1,f=0;

    while(f<=l)

    {

        count++;

        mid=(f+l)/2;

        if(ar[mid].emp_no==num)

        return mid;

        else if(ar[mid].emp_no<num)

        {

            f=mid+1;

        }

          else if(ar[mid].emp_no>num)

        {

            l=mid-1;

        }

    }

        return -1;

}

int main()

{

    int n,i,number;

    printf("Enter number of employees: ");

    scanf("%d",&n);

    struct Employee emp[n];

    fflush(stdin);

    printf("Enter information: \n");

    for(i=0;i<n;i++)

    {

        printf("Employee %d:\nName:",i+1);

        scanf("%s",emp[i].employee_name);

        while(getchar()!='\n');

        printf("Emp no: ");

        scanf("%d",&emp[i].emp_no);

        printf("Salary: ");

        scanf("%d",&emp[i].emp_salary);

    }

    printf("Enter Emp no to be searched: ");

    scanf("%d",&number);

    int ans=binarySearch(number,emp,n);

    printf("The Employee searched is at position: %d",ans);

 printf("Number of comparisons performed is %d",count);

 return 0;

}

Comments

Popular posts from this blog

DAA P4 bfs, dfs

DAA P8 graph coloring

Practical 8 by Karan