Facebook
From sara, 3 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 128
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <cstdlib>
  4. #include <iomanip>
  5. using namespace std;
  6. void initialize(int [],int ,int );
  7. void print(int [],int );
  8. void addelementfirst(int * & ,int & );
  9. void addelementlast(int * & ,int & );
  10. int *deletefirst(int [] ,int & );
  11. int *deletelast(int [] ,int & );
  12. int main() {
  13.        
  14.         int n;
  15.         cout<<"Enter list size:";
  16.         cin>>n;
  17.        
  18.         int *a=new int[n];
  19.         initialize(a,n,0);
  20.         cout<<endl<<"array a:";
  21.         print(a,n);
  22.        
  23.        
  24.          addelementfirst(a,n);
  25.          
  26.                 cout<<endl<<"(add first)array a:";
  27.         print(a,n);
  28.        
  29.        
  30.      addelementlast(a,n);
  31.      
  32.         cout<<endl<<"(add last)array a:";
  33.         print(a,n);
  34.        
  35.  
  36.          a=deletefirst(a,n);
  37.      
  38.         cout<<endl<<"(delete first)array a:";
  39.         print(a,n);
  40.        
  41.        
  42.      a=deletelast(a, n ) ;
  43.      
  44.         cout<<endl<<"(delete last)array a:";
  45.         print(a,n);
  46.        
  47.  
  48.  
  49.        
  50.        
  51.        
  52.         getch();
  53.         return 0;
  54. }
  55.  
  56. void initialize(int a[],int n ,int v)
  57. {
  58.         for(int i=0;i<n;i++)
  59.            a[i]=v;
  60. }
  61. void print(int a[],int n)
  62. {
  63.         cout<<"  [";
  64.         for(int i=0;i<n;i++)
  65.          cout<<setw(3)<<a[i];
  66.         cout<<"  ]"<<endl;
  67. }
  68. void addelementfirst(int * &a ,int &n )
  69. {   int v;
  70.         cout<<"enter number for add to first=";
  71.         cin>>v;
  72.         int *newa=new int[n+1];
  73.        
  74.           if( newa==NULL){  cout<<"memory allocation error for add element!"; exit(-1);
  75.           }
  76.        
  77.          for(int i=0;i<n;i++)
  78.            newa[i+1]=a[i];
  79.          newa[0]=v;
  80.           if(n)
  81.           delete []a;
  82.      n++;
  83.      a=newa;
  84. }
  85. void addelementlast(int * &a ,int &n )
  86. {   int v;
  87.         cout<<"enter number for add to last=";
  88.         cin>>v;
  89.         int *newa=new int[n+1];
  90.        
  91.           if( newa==NULL){  cout<<"memory allocation error for add element!"; exit(-1);
  92.           }
  93.        
  94.          for(int i=0;i<n;i++)
  95.            newa[i]=a[i];
  96.          newa[n]=v;
  97.           if(n)
  98.           delete []a;
  99.      n++;
  100.      a=newa;
  101. }
  102. int* deletefirst(int a[] ,int & n )
  103. {
  104.     if (n<=1 )  {   if(n) delete a;    n=0;  return NULL;   }  
  105.      int *p=new int[n-1];
  106.     if( p==0){  cout<<"memory allocation error for add element!"; exit(-1); }
  107.      
  108.     for(int i=0;i<(n-1) ;i++)
  109.            p[i]=a[i+1];
  110.         delete []a;
  111.         --n;
  112.         return p;
  113.  }
  114.  
  115.  
  116. int *deletelast(int a[] ,int  &n )
  117. {
  118.    if(n<=1)  {   if(n) delete a;    n=0; a=NULL; exit(-1);    }
  119.     int *p=new int[n-1];
  120.          for(int i=0;i<n-1;i++)
  121.           p[i]=a[i];
  122.                      
  123.     delete a;
  124.         --n;
  125.         a=p;
  126.         return a;            
  127. }