用c++模板实现|用c++模板实现 线性表(数组表示)
文章图片
文章图片
Code
#include
#include
using namespace std;
template
public:
LinearList();
LinearList(int num);
T * insert(int index,T value);
T delVal(int index);
int GetLength(){return length;
}
bool isEmpty(){return length==0;
}
bool isElem(T value,int &index)
{
for (int i=0;
i
if(vec[i]==value)
{
index=i;
return true;
}
}
return false;
}
T & GetElem(int index)
{
return vec[index];
}
private:
int length;
int capicity;
T *vec;
};
template
{
capicity=100;
length=0;
vec=new T[capicity];
}
template
{
if(num<0)
exit(OVERFLOW);
capicity=num;
length=0;
vec=new T[capicity];
}
template
{
if(index<0||index>length)
cout<<"overflow"<
{
T *newVec=new T[capicity*2];
for (int i=0;
i
newVec[i]=vec[i];
}
delete [] vec;
vec=newVec;
capicity*=2;
}
T *beg=&vec[index];
for (T *end=&vec[length-1];
end>=beg;
--end)
{
*(end+1)=*end;
}
*beg=value;
++length;
return beg;
}
template
{
if (index<0||index>length)
{
cout<<"overflow"<
T *temp=&vec[index];
T ret=*temp;
for(T *end=&vec[length-1];
temp<=end;
++temp)
*temp=*(temp+1);
--length;
return ret;
} 【用c++模板实现|用c++模板实现 线性表(数组表示)】转载于:https://www.cnblogs.com/zwicker/archive/2009/03/06/1404669.html
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- JS中的各种宽高度定义及其应用
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- 涉毒患者(新诗)
- 参保人员因患病来不及到指定的医疗机构就医,能否报销医疗费用()
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。