Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- #include <string>
- #include <stdlib.h>
- using namespace std;
- class CQueue{
- private:
- int cap, head, tail, size;
- int *sq;
- public:
- CQueue(){
- head = 0;
- size = 0;
- tail = 0;
- cap = 6;
- sq = (int*)malloc(cap * sizeof(int));
- }
- int getsize(){
- return size;
- }
- int getCapacity(){
- return cap;
- }
- void del(){
- free(sq);
- }
- void enqueue(int in){
- if(size != 0 && (head == tail%cap)){
- cout << "Queue is Full\n";
- }
- else{
- sq[tail] = in;
- tail++;
- size++;
- tail %= cap;
- }
- }
- int dequeue(){
- int ret;
- if(head == tail && size == 0){
- cout << "Queue is empty\n";
- return -1;
- }
- else{
- ret = sq[head];
- head++;
- size--;
- head %= cap;
- }
- return ret;
- }
- int top(){
- return sq[head];
- }
- void display(){
- if (isempty() == true)
- cout << "Queue is empty" << endl;
- else{
- int element = 1;
- cout << "Queue elements are : " << endl;
- for (int i = head; element <= size; i = (i % cap) + 1)
- {
- cout << sq[i] << " ";
- element++;
- }
- cout << endl;
- }
- }
- bool isfull() {
- if (size != 0 && (head == tail%cap))
- return true;
- else
- return false;
- }
- bool isempty()
- {
- if (size == 0)
- return true;
- else
- return false;
- }
- };
- int main(){
- CQueue q1;
- q1.display();
- q1.enqueue(10);
- q1.enqueue(10);
- q1.enqueue(10);
- q1.enqueue(10);
- q1.enqueue(20);
- q1.enqueue(30);
- q1.enqueue(40);
- q1.display();
- q1.enqueue(500);
- q1.enqueue(400);
- q1.enqueue(400);
- q1.display();
- q1.dequeue();
- q1.dequeue();
- q1.dequeue();
- q1.dequeue();
- q1.dequeue();
- q1.dequeue();
- q1.enqueue(5);
- q1.enqueue(5);
- q1.enqueue(5);
- q1.display();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement