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
Post a Comment