📄 vector.h
字号:
#ifndef VECTOR_H
#define VECTOR_H
//#include "timefft.h"
template <typename T>
class Vector
{
private:
T *pvector;
public:
int number;
Vector()
:number (0)
,pvector (NULL)
{
pvector=(T*)malloc(sizeof(T)*number);
}
~Vector()
{
if(pvector!=NULL)
{
free(pvector);
pvector=NULL;
}
}
int push_back(T m)
{
number++;
pvector=(T*)realloc(pvector,sizeof(T)*number);
*(pvector+number-1)=m;
return *(pvector+number-1);
}
int size()
{
return number;
}
bool remove(int k)
{
if(k>number-1||k<0)
{
printf("Error! Data isn't existed!\n");
return false;
}
else
{
memmove(pvector+k,pvector+k+1,sizeof(T)*(number-1-k));
number--;
return true;
}
}
bool insert(int k,T element)
{
if(k<0||k>number)
{
printf("Error! Line isn't existed!\n");
return false;
}
else
{
number++;
pvector=(T*)realloc(pvector,sizeof(T)*number);
memmove(pvector+k+1,pvector+k,sizeof(T)*(number-1-k));
*(pvector+k)=element;
return true;
}
}
T find(int k)
{
if(k<0||k>number)
{
printf("Error! Data isn't existed!");
return -1;
}
else
{
return *(pvector+k);
}
}
void display()
{
for (int i=0;i<number;i++)
{ if (find(i)>=0)
printf("%d ",find(i));
else
printf("%d ",find(i)+256);
}
cout<<"The line has "<<number<<" datas."<<endl;
}
T* begin()
{
return pvector;
}
T* end()
{
return pvector+number;
}
bool empty()
{
if(number==0)
return true;
else
return false;
}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -