Wednesday 14 January 2015

Wap to implement circular queue using array

Wap to implement circular queue using array

#include<stdio.h>
#include<conio.h>
#define max 5
void insert();
void delet();
void display();
int q[10],front=0,rear=-1;
void main()
{
      int ch;
      printf("\n circular Queue operatos\n");
      printf("insert\n2.delete\n3.display\n4.exit\n");
      printf("Enter your choice:");
      scanf("%d",&ch);
      switch(ch)
      {
      case 1: insert();
          break;
      case 2: delet();
          break;
      case 3: display();
          break;
      case 4: exit();
      default:printf("Invalid option");
      }
     getch();
  }
  void insert()
  {
     int x;
     if ((front==0&&rear==max-1)||(front>0&&rear==front-1))
        printf("Queue is overflow\n");
     else
     {
        printf("Enter element to be insert:");
        scanf("%d",&x);
        if(rear==max-1&&front>0)
        {
           rear=0;
           q[rear]=x;
        }
        else
        {
           if((front==0&&rear==-1)||(rear!=front-1))
            q[++rear]=x;
        }
      }
   }
   void delet()
   {
     int a;
     if((front==0)&&(rear-1))
     {
      printf("Queue is underflow\n");
      getch();
      exit();
     }
     if(front==rear)
     {
      a=q[front];
      rear=-1;
      front=0;
     }
     else
      if(front==max-1)
      {
         a=q[front];
         front=0;
      }
      else a=q[front++];
      printf("Deleted element is:%d\n",a);
    }
    void display()
    {
       int i,j;
       if(front==0&&rear==-1)
       {
          printf("Queue is underflow\n");
          getch();
          exit();
       }
       if(front>rear)
       {
          for(i=0;i<=rear;i++)
            printf("\t%d",q[i]);
          for(j=front;j<=max-1;j++)
            printf("\t%d",q[j]);
          printf("\nrear is at %d\n",q[rear]);
        }
        else
        {
            for(i=front;i<rear;i++)
            {
              printf("\t%d",q[i]);
            }
            printf("\nrear is at %d\n",q[rear]);
            printf("\nfront is at %d\n",q[front]);
        }
        printf("\n");

        }

wap to implement dfs using adjacency matrix

wap to implement dfs using adjacency matrix

#include<stdio.h>
#include<conio.h>
void DFS(int);
int G[10][10],visited[10],n;
void main()
{
clrscr();
     int i,j;
     printf("enter no, of nodes=");
     scanf("%d",&n);
     printf("\n enter adjacency matrix of the graph=");
     for(i=0;i<n;i++)
     for(j=0;j<n;j++)
     scanf("%d",&G[i][j]);
     for(i=0;i<n;i++)
     visited[i]=0;
     DFS(0);
     getch();
     }
     void DFS(int i)
     {
     int j;
     printf("\n %d",i);
     visited[i]=1;
     for(j=0;j<n;j++)
     if(!visited[j]&&G[i][j]==1)
     DFS(j);

     }

Wap to implement binary search

Wap to implement binary search

#include<stdio.h>
#include<conio.h>
int main()
{
clrscr();
int c, first,last,middle,n, search,array[100];
printf("enter number of elements\n");
scanf("%d",&n);
printf("enter %d integers\n",n);
for(c=0;c<n;c++)
scanf("%d",&array[c]);
printf("enter value to  find\n");
scanf("%d",&search);
first=0;
last=n-1;
middle=(first+last)/2;
while(first<=last)
{
if(array[middle]<search)
first=middle+1;
else if(array[middle]==search)
{
printf("%d found at location %d \n",search,middle+1);
break;
}
else
last=middle-1;
middle=(first+last)/2;
}
if(first>last)
printf("not found %d is not present in the list. \n",search);
return 0;

}

WAP TO IMPLEMENT CIRCULAR QUEUE

WAP TO IMPLEMENT CIRCULAR QUEUE

#include<stdio.h>
#include<conio.h>
#include<malloc.h>
typedef struct node
      {
      int data;
      struct node *next;
      }node;
      void init(node **R);
      void enqueue(node **R,int x);
      int dequeue(node **R);
      int empty(node *rear);
      void print(node *rear);
      int front_element(node *rear);
      int rear_element(node *rear);
      void main()
      {
      int x,option;
      int i;
      node *rear;
      init(&rear);
      do
      {
      printf("\n1.insert.\n2.delete\n3.print");
      printf("\n4.front elment\n5.rear element\n6.quit");
      printf("\n your option:");
      scanf("%d",&option);
      switch(option)
      {
      case 1:printf("\n enter queue data:");
      scanf("%d",&x);\
      enqueue(&rear,x);
      break;
      case 2:if(!empty(rear))
      {
      x=dequeue(&rear);
      printf("\n element deleted =%d",x);
      }
      else
      printf("\n underflow..........cannot delete");
      break;
      case 3:print(rear);
      break;
      case 4:if(!empty(rear))
      printf("\n front element =%d",front_element(rear));
      else
      printf("\n queue is empty");
      break;
      case 5:if(!empty(rear))
      printf("\n rear element=%d",rear_element(rear));
      else
      printf("\n queueu is empty");
      break;
      }
      }while(option!=6);
      }
      void init(node **R)
      {
      *R=NULL;
      }
      void enqueue(node **R,int x)
      {
      node *p;
      p=(node*)malloc(sizeof(node));
      p->data=x;
      if(empty(*R))
      {
      p->next=p;
      *R=p;
      }
      else
      {
      p->next=(*R)->next;
      (*R)->next=p;
      (*R)=p;
      }
      }
      int dequeue(node **R)
      {
      int x;
      node *p;
      p=(*R)->next;
      x=p->data;
      if(p->next==p)
      {
      *R=NULL;
      free(p);
      return(x);
      }
      (*R)->next=p->next;
      free(p);
      return(x);
      }
      void print(node *rear)
      {
      node *p;
      if(!empty(rear))
      {
      p=rear->next;
      }
      else
      {
      printf("\n queue is empty");
      return;
      }
      printf("\n");
      do
      {
      printf("%d",p->data);
      p=p->next;
      }
      while(p!=rear->next);
      }
      int empty(node *P)
      {
      if(P->next==NULL)
      return(1);
      return(0);
      }
      int front_element(node *rear)
      {
      return(rear->next->data);
      }
      int rear_element(node *rear)
      {
      return(rear->data);

      }

wap to implement radix sort

wap to implement  radix sort

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

int getMax(int arr[],int n)
{
            int mx=arr[0],i;
            for(i=1;i<n;i++)
            if(arr[i]>mx)
            mx=arr[i];
            return mx;
            }
            void countsort(int arr[], int n, int exp)
            {
                int output [n];
                int i, count[10]={0}
                for (i = 0; i < n;i++)
                         count[ (arr[i]/exp)%10]++;
                for (i = n -1; i >=0;i--)
                {
                        output[count[ (arr[i]/exp)%10]-1]=arr[i];
                        count[ (arr[i]/exp)%10]--;
                }
                void radixsort(int arr[],int n)
                {
                         int m = getMax(arr,n);
                         int exp;
                         for (exp = 1; m/exp > 0; exp *=10)
                         countsort (arr,n, exp);
                }
                void print (int arr[], int n)
                }
                int main()
                {
                        int arr[10],N,i;
                        int n =sizeof(arr)/sizeof(arr[o]);
                        printf("Enter no. of elelment");
                        scanf("%d",&N);
                        printf("\nEnter elements=");
                        for(i=0;i<N;i++)
                        {
                           scanf("%d",&arr[i]);
                        }
                        radixsort(arr[i]);
                        print(arr,n);
                        return 0;
                }

Sunday 11 January 2015

wap to implement prim's algo

wap to implement prim's algo


#include<stdio.h>
#include<conio.h>
int a,b,u,v,n,i,j,ne=1;
int visited[10]={0},min,mincost=0,cost[10][10];
void main()
{
 clrscr();
 printf("\n Enter the number of nodes:");
 scanf("%d",&n);
 printf("\n Enter the adjacency matrix:\n");
 for(i=1;i<=n;i++)
  for(j=1;j<=n;j++)
  {
   scanf("%d",&cost[i][j]);
   if(cost[i][j]==0)
    cost[i][j]=999;
  }
 visited[1]=1;
 printf("\n");
 while(ne<n)
 {
  for(i=1,min=999;i<=n;i++)
   for(j=1;j<=n;j++)
    if(cost[i][j]<min)
     if(visited[i]!=0)
     {
      min=cost[i][j];
      a=u=i;
      b=v=j;
     }
  if(visited[u]==0 || visited[v]==0)
  {
   printf("\n Edge %d:(%d %d) cost:%d",ne++,a,b,min);
   mincost+=min;
   visited[b]=1;
  }
  cost[a][b]=cost[b][a]=999;
 }
 printf("\n Minimun cost=%d",mincost);
 getch();
}