├── README.md └── LINKED LIST IMPLEMENTATION OF QUEUE ADT /README.md: -------------------------------------------------------------------------------- 1 | # LINKED-LIST-IMPLEMENTATION-OF-QUEUE-ADT- 2 | .. 3 | -------------------------------------------------------------------------------- /LINKED LIST IMPLEMENTATION OF QUEUE ADT: -------------------------------------------------------------------------------- 1 | #include #include #include 2 | //using namespace std; class node 3 | { 4 | public: 5 | class node *next; int data; 6 | }; 7 | class queue : public node 8 | { 9 | node *head; int front,rare; public: queue() 10 | { 11 | front=-1; rare=-1; 12 | } 13 | 14 | 15 | void push(int x) 16 | { 17 | if (rare < 0 ) 18 | { 19 | head =new node; 20 | head->next=NULL; head->data=x; rare ++; 21 | } 22 | else 23 | { 24 | node *temp,*temp1; temp=head; 25 | if(rare >= 4) 26 | { 27 | cout <<"queue over flow"; return; 28 | } 29 | rare++; 30 | while(temp->next != NULL) temp=temp->next; temp1=new node; 31 | temp->next=temp1; temp1->next=NULL; temp1->data=x; 32 | }} 33 | void display() 34 | { 35 | node *temp; temp=head; if (rare < 0) 36 | { 37 | cout <<" queue under flow"; return; 38 | } 39 | while(temp != NULL) 40 | { 41 | cout <data<< " "; temp=temp->next; 42 | } 43 | } 44 | void pop() 45 | { 46 | 47 | 48 | node *temp; temp=head; if( rare < 0) 49 | { 50 | cout <<"queue under flow"; return; 51 | } 52 | if(front == rare) 53 | { 54 | front = rare =-1; head=NULL; return; 55 | } 56 | front++; head=head->next; 57 | } 58 | }; 59 | main() 60 | { 61 | Clrscr(); queue s1; int ch; while(1) 62 | { 63 | cout <<"\n1.PUSH\n2.POP\n3.DISPLAY\n4.EXIT\n enter ru choice:"; cin >> ch; switch(ch) 64 | { 65 | case 1: 66 | cout <<"\n enter a element"; cin >> ch; s1.push(ch); break; 67 | case 2: s1.pop();break; 68 | case 3: s1.display();break; case 4: exit(0); 69 | } 70 | } 71 | return (0); 72 | } 73 | --------------------------------------------------------------------------------