Prepared By : Rakesh Kumar                                             D.A.V.Centenary Public School Chander Nagar



                                             Pointer in C++
Pointer is a special variable, used to store the address of another variable of same data type.
 #include<iostream>
 #include<conio.h>                                                                          a
 using namespace std;
 int main()                                                                                  5
 {
    int a;                                                                                 10234
    a=5;
    cout<<"n Value of a :"<<a;           // 5 is the value stored at a
    cout<<"n Address of a :"<<&a;        // 10234 is the address of variable a
    getch( );
    return 0;
 }

&      :- is known as address operator
*      :- is known as value operator if it is operative on address, otherwise it behaves like a multiplication
          operator
Arithmetic Operation on Pointer : Only allowed arithmetic operation is addition(+) and Subtraction(-)
 Program                                                   Output
 #include<iostream>
 #include<conio.h>
 using namespace std;
 int main()
 {
   int a;
   a=5;
   int *b;
   b=&a;
   cout<<"n Value of b :"<<b<<endl;
   b=b+1 ;    // increase block size
   cout<<"n New value of b :"<<b<<endl;
   getch();
   return 0;
 }

Pointer of Pointer

 Program                                                   Output
 #include<iostream>
 #include<conio.h>
 using namespace std;
 int main()
 {
       int a;
       a=5;
       int *b;
       b=&a;
       int **c;
       c=&b;
       int ***d;
       d=&c;
       cout<<"n Address        of ann";
       cout<<"n Using          &a    :"<<&a;
       cout<<"n Using          b     :"<<b;
       cout<<"n Using          *c    :"<<*c;
       cout<<"n Using          **d   :"<<**d;

        cout<<"nnn Value of          an";
        cout<<"n Using a                       :"<<a;


                                                  Page 1 of 11
Prepared By : Rakesh Kumar                                           D.A.V.Centenary Public School Chander Nagar


        cout<<"n    Using   *(&a)   :"<<*(&a);
        cout<<"n    Using   *b      :"<<*b;
        cout<<"n    Using   **c     :"<<**c;
        cout<<"n    Using   ***d    :"<<***d;
        getch();
        return 0;
 }



Pointer as a function parameter

 Program                                                        Output
 // program to demonstrate call by pointer method
 #include<iostream>
 #include<conio.h>
 using namespace std;
 void change(int *a)     // parameter as pointer
 {
      *a = *a+20;
      }
 int main()
 {
   int x=20;
   cout<<"n Value of x before function call:"<<x;
   change(&x);        // passing parameter
   cout<<"n Value of x before function call:"<<x;
   getch();
   return 0;
 }

Pointer as a function Return type value
 Program                                                    Output
 #include<iostream>
 #include<conio.h>
 using namespace std;
 int* read(void)
 {
      int a;
      a=20;
      return(&a);
      }
 int main()
 {
     int *res;
     res = read(); // store retured address
     cout<<"n Value of a :"<<*res;
     cout<<"n Value of a :"<<*(read());
     getch();
     return 0;
 }


                                          Pointer and Array
When an array is defined like
      int x[5];        // The memory block is as shown below
                                          X

       100                   102                  104                      106                     108

      The address of 0th index block is called BASE ADDRESS and it can be obtained by the following
methods

                                             Page 2 of 11
Prepared By : Rakesh Kumar                                      D.A.V.Centenary Public School Chander Nagar


        (a)     x                         -> 100
        (b)     &x[0]                     ->100
        (c)     x+0                       ->100
        (d)     0+x                       ->100
        (e)     &0[x]                     ->100

Processing array as a pointer without using any extra pointer variable
 Program                               Output
 // program to access array as
 a pointer
 #include<iostream>
 #include<iomanip>
 #include<conio.h>
 #include<math.h>
 using namespace std;
 int main()
 {
     int x[10],i;
     // input phase
     for(i=0;i<10;i++)
     {
         cout<<"Enter value :";
           cin>>x[i];
       }
     // output
     cout<<"n Output using as
 a pointer:n";
       for(i=0;i<10;i++)
       cout<<setw(6)<<*(x+i);
     getch();
     return 0;
 }



Processing array as a pointer using extra pointer variable
 Program                                  Output
 #include<iostream>
 #include<iomanip>
 #include<conio.h>
 #include<math.h>
 using namespace std;
 int main()
 {
     int x[10],i,*p;
     p= x;    // assign base
 address to p
     // input phase
     for(i=0;i<10;i++)
        x[i]=rand();
     // output
     for(i=0;i<10;i++)
      {
        cout<<setw(6)<<*p;
        p++;
        }
     getch();
     return 0;
 }




                                             Page 3 of 11
Prepared By : Rakesh Kumar                                           D.A.V.Centenary Public School Chander Nagar


Accessing pointer as an array
 Program                                   Output
 #include<iostream>
 #include<iomanip>
 #include<conio.h>
 #include<math.h>
 using namespace std;
 void change(int *x)
 {
     int i;
     for(i=0;i<10;i++)
         x[i]=x[i]+20;
 }
 int main()
 {
     int x[10],i;
        // input phase
     for(i=0;i<10;i++)
      {
         cout<<"Enter value :";
         cin>>x[i];
      }
     // processing phase

     change(x);

      // output phase
      cout<<"n Modified List :";
       for(i=0;i<10;i++)
          cout<<setw(6)<<x[i];
       getch();
       return 0;
 }

                                           Pointer & String
String : it is an array of character, which always terminates with NULL (‘0’).

        Char str[80]=”RAKESH”; // It’s allocation in stin is as follows

 0       1  2   3   4   5 6 7 8 9 ……………………………………………………..79
 R     A K     E   S   H 0
101    102 103 104 105………………………………………………………………………… ………180

        cout<<str;  // Please note that only the base address of string has been given to cout
                    // and cout is here print the whole string not the base address
        Result : RAKESH

Example 2.

        char str[80]=”RAKESH”;
        cout<<*str; // now compiler try to print value stored at base address

        Result          : ‘R’

Example 3
     char str[80]=”RAKESH”;
     cout<<*++str; // process nearest first

        Result          : ‘A’

                                                Page 4 of 11
Prepared By : Rakesh Kumar                                    D.A.V.Centenary Public School Chander Nagar




Example 4
     char str[80]=”RAKESH”;
     cout<<++*str; // process nearest first

       Result           : ‘S’

Example 5
     char str[80]=”RAKESH”;
     cout<<++str;    // print 101 address onward upto NULL

       Result           : AKESH




                                  Pointers and Structure

 Assigning and Accesssing structure type Pointers
 #include<iostream>
 #include<conio.h>
 using namespace std;
 struct student
   {
          int roll;
          char name[30];
          char address[60];
   };
 int main()
 {
       student s;
       student *s1;
       s1= &s;
       //input phase
       cout<<"n Enter roll no :";
       cin>>s.roll;
       cout<<"n Enter name :";
       cin>>s.name;
       cout<<"n Enter address :";
       cin>>s.address;
       // output - using pointer variable
       cout<<"n Roll           :"<<(*s1).roll;    //        s1->roll
       cout<<"n Nane           :"<<(*s1).name;    //        s1->name;
       cout<<"n Address        :"<<(*s1).address; //        s1->address
       getch();
       return 0;
 }


                                              Page 5 of 11
Prepared By : Rakesh Kumar                                           D.A.V.Centenary Public School Chander Nagar




New ( ) : This function is used to assign memory to a pointer variable from the available memory heap. The
           function is responsible to calculate no of bytes and types of data, required.
Delete ( ) : This function is used to release assigned pointer memory to memory heap

 Accessing Pointer Variable using new( ) and delete ( ) function
 #include<iostream>
 #include<conio.h>
 using namespace std;
 struct student
   {
          int roll;
          char name[30];
          char address[60];
   };
 int main()
 {
       student *s;
       s= new(student);
       //input phase
       cout<<"n Enter roll no :";
       cin>>s->roll;
       cout<<"n Enter name :";
       cin>>s->name;
       cout<<"n Enter address :";
       cin>>s->address;
       // output - using pointer variable
       cout<<"n Roll           :"<<s->roll;
       cout<<"n Name           :"<<s->name;
       cout<<"n Address        :"<<s->address;
       delete(s);
       getch();
        return 0; }

Self Referential Structure: A structure which can have a variable of it’s own type inside it’s declaration,
                            then the structure is known as self referential structure.
Example
              struct student
                      {
                             Int roll;
                      `      student *s;
                      };

                                            Example of link list
#include<iostream>
#include<iomanip>
#include<conio.h>
using namespace std;
struct node
{
         int info;
         node *ptr;
         };
int main()
{
      node *x,*y,*temp ;
      x= NULL;
      int choice;
      do
       {
               system("cls");
               cout<<"n 1.                  Add at beginning";


                                                Page 6 of 11
Prepared By : Rakesh Kumar                                        D.A.V.Centenary Public School Chander Nagar


                  cout<<"n 2.                  Add at end";
                  cout<<"n           3.               Delete from beginning";
                  cout<<"n 4.                  Display ";
                  cout<<"n 5.                  Exit";
                  cout<<"nnn Enter your choice :";
                  cin>>choice;
                  switch(choice)
                    {
                      case 1: if(x==NULL)
                                {
                                      x = new(node);
                                      cout<<"n Enter value :";
                                      cin>>x->info;
                                      x->ptr = NULL;
                                  }
                               else
                                  {
                                      temp = new(node);
                                      cout<<"n Enter value :";
                                      cin>>temp->info;
                                      temp->ptr = x;
                                      x = temp;
                                    }
                                  break;
                      case 2: if(x==NULL)
                                    {
                                        x = new(node);
                                        cout<<"n Enter value :";
                                        cin>>x->info;
                                        x->ptr = NULL;
                                      }
                                      else
                                        {
                                            y =x;
                                            while(y->ptr!=NULL)
                                            y = y->ptr;
                                            y->ptr = new(node);
                                            y = y->ptr;
                                            cout<<"n Enter value :";
                                            cin>>y->info;
                                            y->ptr = NULL;
                                          }
                                          break;
                      case 3:
                                        if(x==NULL)
                                          {
                                            cout<<"n Link List empty";
                                            getch();
                                            }
                                        else
                                            {
                                                temp =x;
                                                x = x->ptr;
                                                delete(temp);
                                              }
                                              break;
                        case 4:
                                            if(x==NULL)
                                                   cout<<"n Link list empty";
                                            else
                                                {
                                                  y = x;
                                                  while(y!=NULL)
                                                    {
                                                         cout<<setw(6)<<y->info;
                                                         y = y->ptr;


                                               Page 7 of 11
Prepared By : Rakesh Kumar                                  D.A.V.Centenary Public School Chander Nagar


                                                  }
                                  }
                                  getch();
                                  break;
                       case 5:      break;
                       default:
                             cout<<"n Wrong Choice.... Try again";
                             getch();
            } // end of switch statement
      }while(choice!=5);
return 0;
}


                                  LINK LIST EMPLEMENTED STACK
#include<iostream>
#include<iomanip>
#include<conio.h>
using namespace std;
struct node
{
         int info;
         node *ptr;
         };

class stack
        {
                  node *x,*y,*temp;
               public:
                        stack()      // constructor to initialize variable
                          {
                              x= NULL;
                            }
                     void push(void); // function to add element
                     void pop(void);    // function to delete element
                     void display(void); // function to display stack element
               };

void stack::push()
{
       if(x==NULL)
           {
             x = new(node);
                   cout<<"n Enter value :";
                   cin>>x->info;
                   x->ptr = NULL;
           }
      else
           {
             temp = new(node);
                   cout<<"n Enter value :";
                   cin>>temp->info;
                   temp->ptr = x;
                   x = temp;
             }
      return;
}

void stack::pop(void)
{
  if(x==NULL)
    {
       cout<<"n Stack is empty";
         getch();
    }
  else


                                             Page 8 of 11
Prepared By : Rakesh Kumar                                     D.A.V.Centenary Public School Chander Nagar


      {
          temp =x;
          x = x->ptr;
          delete(temp);
      }
     return;
 }

void stack::display()
{
  if(x==NULL)
    cout<<"n Link list empty";
  else
     {
         y = x;
         while(y!=NULL)
           {
                cout<<setw(6)<<y->info;
                y = y->ptr;
           }
       }
  return;
  }

int main()
{
      stack S;
      int choice;
      do
       {
                             system("cls");
                             cout<<"n                    S T A C K  M E N U ";
                             cout<<"n       1.           Push";
                             cout<<"n       2.           Pop";
                             cout<<"n       3.           Display ";
                             cout<<"n       4.           Exit";
                             cout<<"nnn Enter your choice :";
                             cin>>choice;
                             switch(choice)
                              {
                                       case 1:            S.push();
                                                          break;
                                       case 2:     S.pop();
                                                   break;
                                       case 3:     S.display();
                                                          getch();
                                                   break;
                                       case 4:     break;
                                       default:
                                                   cout<<"n Wrong Choice.... Try again";
                                                   getch();
                                }
                                }while(choice!=4);
                return 0;
                }



                                   Link List Implemented queue
#include<iostream>
#include<iomanip>
#include<conio.h>
using namespace std;
struct node
{


                                              Page 9 of 11
Prepared By : Rakesh Kumar                                 D.A.V.Centenary Public School Chander Nagar


          int info;
          node *ptr;
          };
class queue
        {
                node *x,*y,*temp;
             public:
                       queue()     // constructor to initliaze variable
                         {
                             x= NULL;
                           }
                    void add_element(void); // function to add element
                    void delete_element(void);   // function to delete element
                    void display(void); // function to display stack element
             };

void queue::add_element()
{
       if(x==NULL)
           {
             x = new(node);
                    cout<<"n Enter value :";
                    cin>>x->info;
                    x->ptr = NULL;
           }
      else
           {
             y = x;
               while(y->ptr!=NULL)
                  y = y->ptr;
               y->ptr = new(node);
               y = y->ptr;
               cout<<"n Enter value :";
               cin>>y->info;
               y->ptr = NULL;

             }
       return;
}

void queue::delete_element(void)
{
    if(x==NULL)
       {
         cout<<"n queue is empty";
           getch();
       }
    else
     {
         temp =x;
         x = x->ptr;
         delete(temp);
     }
    return;
  }
void queue::display()
{
  if(x==NULL)
     cout<<"n Queue is empty";
  else
       {
          y = x;
          while(y!=NULL)
            {
                 cout<<setw(6)<<y->info;
                 y = y->ptr;


                                           Page 10 of 11
Prepared By : Rakesh Kumar                                     D.A.V.Centenary Public School Chander Nagar


           }
      }
 return;
 }

int main()
{
      queue q;
      int choice;
      do
       {
                             system("cls");
                             cout<<"n                    QUEUE    M E N U ";
                             cout<<"n       1.           Add Element";
                             cout<<"n       2.           Delete Element";
                             cout<<"n       3.           Display ";
                             cout<<"n       4.           Exit";
                             cout<<"nnn Enter your choice :";
                             cin>>choice;
                             switch(choice)
                              {
                                       case 1:     q.add_element();
                                                   break;
                                       case 2:     q.delete_element();
                                                   break;
                                       case 3:     q.display();
                                                          getch();
                                                   break;
                                  case 4:
                                                   break;
                                default:
                                                   cout<<"n Wrong Choice.... Try again";
                                                   getch();
                                }
                                }while(choice!=4);
               return 0;
               }




                                              Page 11 of 11

Pointers

  • 1.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar Pointer in C++ Pointer is a special variable, used to store the address of another variable of same data type. #include<iostream> #include<conio.h> a using namespace std; int main() 5 { int a; 10234 a=5; cout<<"n Value of a :"<<a; // 5 is the value stored at a cout<<"n Address of a :"<<&a; // 10234 is the address of variable a getch( ); return 0; } & :- is known as address operator * :- is known as value operator if it is operative on address, otherwise it behaves like a multiplication operator Arithmetic Operation on Pointer : Only allowed arithmetic operation is addition(+) and Subtraction(-) Program Output #include<iostream> #include<conio.h> using namespace std; int main() { int a; a=5; int *b; b=&a; cout<<"n Value of b :"<<b<<endl; b=b+1 ; // increase block size cout<<"n New value of b :"<<b<<endl; getch(); return 0; } Pointer of Pointer Program Output #include<iostream> #include<conio.h> using namespace std; int main() { int a; a=5; int *b; b=&a; int **c; c=&b; int ***d; d=&c; cout<<"n Address of ann"; cout<<"n Using &a :"<<&a; cout<<"n Using b :"<<b; cout<<"n Using *c :"<<*c; cout<<"n Using **d :"<<**d; cout<<"nnn Value of an"; cout<<"n Using a :"<<a; Page 1 of 11
  • 2.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar cout<<"n Using *(&a) :"<<*(&a); cout<<"n Using *b :"<<*b; cout<<"n Using **c :"<<**c; cout<<"n Using ***d :"<<***d; getch(); return 0; } Pointer as a function parameter Program Output // program to demonstrate call by pointer method #include<iostream> #include<conio.h> using namespace std; void change(int *a) // parameter as pointer { *a = *a+20; } int main() { int x=20; cout<<"n Value of x before function call:"<<x; change(&x); // passing parameter cout<<"n Value of x before function call:"<<x; getch(); return 0; } Pointer as a function Return type value Program Output #include<iostream> #include<conio.h> using namespace std; int* read(void) { int a; a=20; return(&a); } int main() { int *res; res = read(); // store retured address cout<<"n Value of a :"<<*res; cout<<"n Value of a :"<<*(read()); getch(); return 0; } Pointer and Array When an array is defined like int x[5]; // The memory block is as shown below X 100 102 104 106 108 The address of 0th index block is called BASE ADDRESS and it can be obtained by the following methods Page 2 of 11
  • 3.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar (a) x -> 100 (b) &x[0] ->100 (c) x+0 ->100 (d) 0+x ->100 (e) &0[x] ->100 Processing array as a pointer without using any extra pointer variable Program Output // program to access array as a pointer #include<iostream> #include<iomanip> #include<conio.h> #include<math.h> using namespace std; int main() { int x[10],i; // input phase for(i=0;i<10;i++) { cout<<"Enter value :"; cin>>x[i]; } // output cout<<"n Output using as a pointer:n"; for(i=0;i<10;i++) cout<<setw(6)<<*(x+i); getch(); return 0; } Processing array as a pointer using extra pointer variable Program Output #include<iostream> #include<iomanip> #include<conio.h> #include<math.h> using namespace std; int main() { int x[10],i,*p; p= x; // assign base address to p // input phase for(i=0;i<10;i++) x[i]=rand(); // output for(i=0;i<10;i++) { cout<<setw(6)<<*p; p++; } getch(); return 0; } Page 3 of 11
  • 4.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar Accessing pointer as an array Program Output #include<iostream> #include<iomanip> #include<conio.h> #include<math.h> using namespace std; void change(int *x) { int i; for(i=0;i<10;i++) x[i]=x[i]+20; } int main() { int x[10],i; // input phase for(i=0;i<10;i++) { cout<<"Enter value :"; cin>>x[i]; } // processing phase change(x); // output phase cout<<"n Modified List :"; for(i=0;i<10;i++) cout<<setw(6)<<x[i]; getch(); return 0; } Pointer & String String : it is an array of character, which always terminates with NULL (‘0’). Char str[80]=”RAKESH”; // It’s allocation in stin is as follows 0 1 2 3 4 5 6 7 8 9 ……………………………………………………..79 R A K E S H 0 101 102 103 104 105………………………………………………………………………… ………180 cout<<str; // Please note that only the base address of string has been given to cout // and cout is here print the whole string not the base address Result : RAKESH Example 2. char str[80]=”RAKESH”; cout<<*str; // now compiler try to print value stored at base address Result : ‘R’ Example 3 char str[80]=”RAKESH”; cout<<*++str; // process nearest first Result : ‘A’ Page 4 of 11
  • 5.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar Example 4 char str[80]=”RAKESH”; cout<<++*str; // process nearest first Result : ‘S’ Example 5 char str[80]=”RAKESH”; cout<<++str; // print 101 address onward upto NULL Result : AKESH Pointers and Structure Assigning and Accesssing structure type Pointers #include<iostream> #include<conio.h> using namespace std; struct student { int roll; char name[30]; char address[60]; }; int main() { student s; student *s1; s1= &s; //input phase cout<<"n Enter roll no :"; cin>>s.roll; cout<<"n Enter name :"; cin>>s.name; cout<<"n Enter address :"; cin>>s.address; // output - using pointer variable cout<<"n Roll :"<<(*s1).roll; // s1->roll cout<<"n Nane :"<<(*s1).name; // s1->name; cout<<"n Address :"<<(*s1).address; // s1->address getch(); return 0; } Page 5 of 11
  • 6.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar New ( ) : This function is used to assign memory to a pointer variable from the available memory heap. The function is responsible to calculate no of bytes and types of data, required. Delete ( ) : This function is used to release assigned pointer memory to memory heap Accessing Pointer Variable using new( ) and delete ( ) function #include<iostream> #include<conio.h> using namespace std; struct student { int roll; char name[30]; char address[60]; }; int main() { student *s; s= new(student); //input phase cout<<"n Enter roll no :"; cin>>s->roll; cout<<"n Enter name :"; cin>>s->name; cout<<"n Enter address :"; cin>>s->address; // output - using pointer variable cout<<"n Roll :"<<s->roll; cout<<"n Name :"<<s->name; cout<<"n Address :"<<s->address; delete(s); getch(); return 0; } Self Referential Structure: A structure which can have a variable of it’s own type inside it’s declaration, then the structure is known as self referential structure. Example struct student { Int roll; ` student *s; }; Example of link list #include<iostream> #include<iomanip> #include<conio.h> using namespace std; struct node { int info; node *ptr; }; int main() { node *x,*y,*temp ; x= NULL; int choice; do { system("cls"); cout<<"n 1. Add at beginning"; Page 6 of 11
  • 7.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar cout<<"n 2. Add at end"; cout<<"n 3. Delete from beginning"; cout<<"n 4. Display "; cout<<"n 5. Exit"; cout<<"nnn Enter your choice :"; cin>>choice; switch(choice) { case 1: if(x==NULL) { x = new(node); cout<<"n Enter value :"; cin>>x->info; x->ptr = NULL; } else { temp = new(node); cout<<"n Enter value :"; cin>>temp->info; temp->ptr = x; x = temp; } break; case 2: if(x==NULL) { x = new(node); cout<<"n Enter value :"; cin>>x->info; x->ptr = NULL; } else { y =x; while(y->ptr!=NULL) y = y->ptr; y->ptr = new(node); y = y->ptr; cout<<"n Enter value :"; cin>>y->info; y->ptr = NULL; } break; case 3: if(x==NULL) { cout<<"n Link List empty"; getch(); } else { temp =x; x = x->ptr; delete(temp); } break; case 4: if(x==NULL) cout<<"n Link list empty"; else { y = x; while(y!=NULL) { cout<<setw(6)<<y->info; y = y->ptr; Page 7 of 11
  • 8.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar } } getch(); break; case 5: break; default: cout<<"n Wrong Choice.... Try again"; getch(); } // end of switch statement }while(choice!=5); return 0; } LINK LIST EMPLEMENTED STACK #include<iostream> #include<iomanip> #include<conio.h> using namespace std; struct node { int info; node *ptr; }; class stack { node *x,*y,*temp; public: stack() // constructor to initialize variable { x= NULL; } void push(void); // function to add element void pop(void); // function to delete element void display(void); // function to display stack element }; void stack::push() { if(x==NULL) { x = new(node); cout<<"n Enter value :"; cin>>x->info; x->ptr = NULL; } else { temp = new(node); cout<<"n Enter value :"; cin>>temp->info; temp->ptr = x; x = temp; } return; } void stack::pop(void) { if(x==NULL) { cout<<"n Stack is empty"; getch(); } else Page 8 of 11
  • 9.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar { temp =x; x = x->ptr; delete(temp); } return; } void stack::display() { if(x==NULL) cout<<"n Link list empty"; else { y = x; while(y!=NULL) { cout<<setw(6)<<y->info; y = y->ptr; } } return; } int main() { stack S; int choice; do { system("cls"); cout<<"n S T A C K M E N U "; cout<<"n 1. Push"; cout<<"n 2. Pop"; cout<<"n 3. Display "; cout<<"n 4. Exit"; cout<<"nnn Enter your choice :"; cin>>choice; switch(choice) { case 1: S.push(); break; case 2: S.pop(); break; case 3: S.display(); getch(); break; case 4: break; default: cout<<"n Wrong Choice.... Try again"; getch(); } }while(choice!=4); return 0; } Link List Implemented queue #include<iostream> #include<iomanip> #include<conio.h> using namespace std; struct node { Page 9 of 11
  • 10.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar int info; node *ptr; }; class queue { node *x,*y,*temp; public: queue() // constructor to initliaze variable { x= NULL; } void add_element(void); // function to add element void delete_element(void); // function to delete element void display(void); // function to display stack element }; void queue::add_element() { if(x==NULL) { x = new(node); cout<<"n Enter value :"; cin>>x->info; x->ptr = NULL; } else { y = x; while(y->ptr!=NULL) y = y->ptr; y->ptr = new(node); y = y->ptr; cout<<"n Enter value :"; cin>>y->info; y->ptr = NULL; } return; } void queue::delete_element(void) { if(x==NULL) { cout<<"n queue is empty"; getch(); } else { temp =x; x = x->ptr; delete(temp); } return; } void queue::display() { if(x==NULL) cout<<"n Queue is empty"; else { y = x; while(y!=NULL) { cout<<setw(6)<<y->info; y = y->ptr; Page 10 of 11
  • 11.
    Prepared By :Rakesh Kumar D.A.V.Centenary Public School Chander Nagar } } return; } int main() { queue q; int choice; do { system("cls"); cout<<"n QUEUE M E N U "; cout<<"n 1. Add Element"; cout<<"n 2. Delete Element"; cout<<"n 3. Display "; cout<<"n 4. Exit"; cout<<"nnn Enter your choice :"; cin>>choice; switch(choice) { case 1: q.add_element(); break; case 2: q.delete_element(); break; case 3: q.display(); getch(); break; case 4: break; default: cout<<"n Wrong Choice.... Try again"; getch(); } }while(choice!=4); return 0; } Page 11 of 11