simplelist.h
来自「bayes network 的分三角形的算法」· C头文件 代码 · 共 82 行
H
82 行
#pragma once
using namespace std;
template<typename T>
class SimpleList
{
public:
SimpleList(void);
SimpleList(SimpleList const &sl);
~SimpleList(void);
SimpleList operator=(SimpleList const &sl);
void push_back(T elem);
T pop_back(void);
T &operator[](int i);
T const &operator[](int i) const;
int length;
protected:
const static int MAX=20;
T data[MAX];
};
template<typename T>
SimpleList<T>::SimpleList(void):
length(0)
{}
//拷贝构造函数
template<typename T>
SimpleList<T>::SimpleList(SimpleList const &sl)
{
length=sl.length;
for(int i=0;i<length;i++)
data[i]=sl[i];
}
template<typename T>
SimpleList<T>::~SimpleList(void)
{}
//赋值操作
template<typename T>
SimpleList<T> SimpleList<T>::operator=(SimpleList const &sl)
{
length=sl.length;
for(int i=0;i<length;i++)
data[i]=sl[i];
return *this;
}
//压入list
template<typename T>
void SimpleList<T>::push_back(T elem)
{
data[length]=elem; //添加到尾部
++length; //长度加一
}
//弹出list
template<typename T>
T SimpleList<T>::pop_back()
{
T tmp=data[length-1]; //返回尾部的值
--length; //长度减一
return tmp;
}
//取索引操作
template<typename T>
T &SimpleList<T>::operator[](int i)
{
return data[i];
}
//取索引操作的常量版本
template<typename T>
T const &SimpleList<T>::operator[](int i) const
{
return data[i];
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?