Basic Vector Implementation


template <typename T>
myvector {
T *array;
int size;
        typedef T* Iterator;

public:
myvector()
{
size =0;
}
myvector(int s)
{
array = new T[s];
size = s;
}
  myvector(int s, T val)
{
array = new T[s];

for(int i=0;i<s;i++)
array[i] = val;
                }
               
                myvector(const myvector &obj1)
                {
                     size = obj1.size;
                     array = new T[obj1.size];                      
                     for(int i=0;i<obj1.size;i++)
                        arr[i]=obj1.array[i];
                                     
                }

               myvector& operator=(const myvector &obj1)
                {
    delete []array;
    size = obj1.size;
                     array = new T[obj1.size];                      
                     for(int i=0;i<obj1.size;i++)
                        arr[i]=obj1.array[i];
                      return this
                }

                 T& operator[](cons int ind)
                 {
                     return array[ind];  
                 }
                ~myvector()
                 {
                   delete []array;
                 }

push_back(T data)
{
                  T* tmp=new T[size+1];
  for(int i=0; i<size;i++)
{
         tmp[i]=array[i];
}
tmp[size]=data
delete []array;
array = tmp;
size++;                            
}
                pop_back()                      
                {
size--;                            

               T* tmp = new T[size];
  for(int i=0; i<size;i++)
{
tmp[i] = array[i];
}
delete []array;
array = tmp;

                }
 
              Iterator begin()
              {
                 return array;
              }

              Iterator end()
              {
                 return array[size];
              }     
}

Comments

Popular posts from this blog

STL Questions

Producer Consumer problem using mutex

Adapter Design Pattern