Queue Implementation Using Array & Linked List
6,453 views
16 slides
Jun 11, 2014
Slide 1 of 16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
About This Presentation
No description available for this slideshow.
Size: 122.88 KB
Language: en
Added: Jun 11, 2014
Slides: 16 pages
Slide Content
Queue Implementation Using Arrays & Linked List BY : SADIA ZAR
Basic Operations Two Basic Operations in Queue Enque : Inserting new element from rear end Deque : Removing existing element from front end Front End Rear End 0 1 2 3 4 5 6
Queue Using Arrays #include <iostream> using namespace std; class Queue { int * array ,size,f,r,count; public: Queue(); void Enque( int value); int Deque(); bool is_Empty(); bool is_Full(); }; Inserts an element that is passed through main function Removes an element at front
Constructor Queue::Queue() { cout<< "Enter size : " ; cin>>size; array = new int [size]; f=r=-1; count=0; }
Abstract Class #include <iostream> using namespace std; class Node { int value; Node*next; friend class Queue; public: Node() { next=NULL; } };
Class & Functions Declaration class Queue { Node *first,*last; public: Queue() { first=last=NULL; } void Enque( int v); bool is_Empty(); void Deque(); void Display(); }; first last
Enque void Queue::Enque( int v) { Node *n= new Node(); n->value=v; if (first==NULL) { last=first=n; } else { last->next=n; last=n; } } DATA NEXT
Deque void Queue::Deque() { if (!is_Empty()) { Node *temp=first; first=first->next; cout <<"\n\nThe data Dequeued is : " <<temp->value<<endl; delete temp; } }
Function to check Queue empty or not bool Queue::is_Empty() { return first==NULL||last==NULL; } UNDERFLOW
Display void Queue::Display() { Node *p = new Node; p = first; cout<< "\n\nQueue Elements are : \n\n" ; while (p!=NULL) { cout <<p->value<<endl; p = p->next; } }
main function Void main() { Queue Q; Q.Enque(12); Q.Enque(15); Q. Deque(); Q .Display(); } 100 200 12 15 200 NULL 100 200 first last 200