Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int Front,Rear,DataLimit=0;
- struct Node
- {
- int data;
- Node *point;
- };
- Node *head;
- Node* getnewnode(int value)
- {
- Node *newnode = new Node();
- newnode -> data = value;
- newnode -> point = NULL;
- return newnode;
- }
- void EnQueue(int value, int limit)
- {
- int Count = 1;
- Node *temp = head;
- while(temp != NULL)
- {
- Count++;
- temp = temp->point;
- }
- if(Count <= limit)
- {
- Node *newnode = getnewnode(value);
- newnode -> point = head;
- head = newnode;
- DataLimit++;
- }
- else
- {
- cout << "\nQueue Over Flow\n" <<endl;
- return;
- }
- }
- int DeQueue()
- {
- int data,data2;
- if(DataLimit==0)
- {
- cout << "\nQueue Under Flow\n" <<endl;
- return NULL;
- }
- if(DataLimit==1)
- {
- Node *temp3 = head;
- data2 = temp3->data;
- DataLimit--;
- head = NULL;
- return data2;
- }
- Node *temp = head;
- int i;
- for(i=1; i<DataLimit-1; i++)
- {
- temp = temp->point;
- }
- Node *temp2 = temp->point;
- temp->point = temp2->point;
- data = temp2->data;
- DataLimit--;
- delete temp2;
- return data;
- }
- void print()
- {
- Node *temp = head;
- cout << "Current Link List data...." <<endl;
- while(temp != NULL)
- {
- cout << temp->data << " ";
- temp = temp->point;
- }
- cout <<endl;
- }
- int main()
- {
- int limit,dequeue_data;
- limit = 4;
- cout << "Queue limit 4\n" <<endl;
- EnQueue(10,limit);
- print();
- EnQueue(20,limit);
- print();
- EnQueue(30,limit);
- print();
- EnQueue(40,limit);
- print();
- EnQueue(50,limit);// Queue will over flow
- dequeue_data= DeQueue();
- cout << "DeQueue Data: " << dequeue_data <<endl;
- print();
- dequeue_data= DeQueue();
- cout << "DeQueue Data: " << dequeue_data <<endl;
- print();
- dequeue_data= DeQueue();
- cout << "DeQueue Data: " << dequeue_data <<endl;
- print();
- dequeue_data= DeQueue();
- cout << "DeQueue Data: " << dequeue_data <<endl;
- print();
- dequeue_data= DeQueue();
- cout << "DeQueue Data: " << dequeue_data <<endl; // Queue Empty Nothing to pop
- cout << "Data Limit : " <<DataLimit <<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement