Showing posts with label queue. Show all posts
Showing posts with label queue. Show all posts

Saturday, February 7, 2015

Implementation of stack containing queues as elements data structure in C++

#include<iostream>
using namespace std;
class queue
{public:
int elmnt[6];
int front;
int rear;
int isempty();
void enqueue(int e);
    int dequeue();
    queue()
    {rear=-1;
     front=-1;
    }
};
int queue::isempty()
{if(front==-1)
  {
   return 1;
  }
  else
  return 0;
}
void queue::enqueue(int e)
{ rear=(rear+1)%3;
  elmnt[rear]=e;
  if(front==-1)
  front++;
}
int queue::dequeue()
{int c;
  if(isempty());
  else
   {c=elmnt[front];
    if(front==rear)
    {front=-1;
     rear=-1;
     return c;
    }
    else
     front=(front+1)%3;
    return(c);
   }
}
class stack
{public:
  queue q[10],r;
  int top,t,arr[50];
  void push(queue f);
  queue pop();
};
void stack::push(queue f)
{q[++top]=f;
}
queue stack::pop()
{
return q[top--];
}

int main()
{stack s;
 int no,i,j,n;
 s.top=-1;
 cout<<"Enter the no of stacks:";
 cin>>n;
 for(i=0;i<n;i++)
 {  cout<<"Enter in the "<<i+1<<" stack:\n";
    for(j=0;j<3;j++)
     {cin>>no;
 s.r.enqueue(no);
     }
    s.push(s.r);
 }
 for(i=n;i>0;i--)
  {cout<<"Thus the "<<i<<" stack contains;\n";
     s.r=s.pop();
      for(j=0;j<3;j++)
       {cout<<s.r.dequeue()<<" ";
       }
       cout<<endl;
  }
}

Implementation of Bubble sort using Queue in C++

#include<iostream>
#include<cstdlib>
using namespace std;
class queue
{ public:
    int size,i,j,n;
    int elmnt[50];
    int front;
    int rear;
    void enqueue(int j);
    void dequeue();
    void sort();
    queue()
    {size=50;
     front=-1;
     rear=-1;
    }
};
void queue::enqueue(int e)
{ rear=(rear+1)%size;
     elmnt[rear]=e;
     if(front==-1)
     front++;
}
void queue::dequeue()
{
     cout<<elmnt[front]<<endl;
front=(front+1)%size;
   
}
void queue::sort()
{for(i=0;i<n-1;i++)
 {for(j=0;j<n-1-i;j++)
  {if(elmnt[j]>elmnt[j+1])
    {elmnt[j]=elmnt[j]+elmnt[j+1];
     elmnt[j+1]=elmnt[j]-elmnt[j+1];
     elmnt[j]=elmnt[j]-elmnt[j+1];
    }
  }
 }
}
int main()
{queue s;
 cout<<"Enter the no of terms you want to enter:";
 cin>>s.n;
 cout<<"Enter the no's:\n";
 for(s.i=0;s.i<s.n;s.i++)
 {cin>>s.j;
  s.enqueue(s.j);
 }
 cout<<"Thus the no's after sorting are:\n";
 s.sort();
 for(s.i=0;s.i<s.n;s.i++)
  s.dequeue();
}

Queue implementation and operation in C++

#include<iostream>
#include<cstdlib>
using namespace std;
class queue
{ public:
    int size;
    int elmnt[50];
    int front;
    int rear;
    int isfull();
int isempty();
    void enqueue(int e);
    int dequeue();
    queue()
    {size=5;
     front=-1;
     rear=-1;
    }
};
int queue::isfull()
{if((rear+1)%size==front)
  {cout<<"Full";
   return 1;
  }
  else
   return 0;
}
int queue::isempty()
{if(front==-1)
  {cout<<"Empty";
   return 1;
  }
  else
  return 0;
}
void queue::enqueue(int e)
{ if(isfull())
   exit(1);
  else
   { rear=(rear+1)%size;
     elmnt[rear]=e;
     if(front==-1)
     front++;
   }
}
int queue::dequeue()
{ int c;
  if(isempty())
   exit(1);
  else
   {c=elmnt[front];
    if(front==rear)
    {front=-1;
     rear=-1;
    }
    else
     front=(front+1)%size;
    return(c);
   }
}
int main()
{queue s;int d,i;
  s.enqueue(4);
  s.enqueue(5);
  for(i=0;i<3;i++)
  {d=s.dequeue();
   cout<<d<<endl;
  }
}

Contributors

Translate