为了帮别人写一个小作业,实现任意类型数据的存储,现学现卖了c++ template来实现对数据类型的构造
实现循环队列的几个基本要求(ps自己设计的,不喜勿喷,我还很年轻。。。)
1用双向链表存储,需要一个next,一个previous,还有一个template class data
2 需要设定几个基本函数,插入push ,删除 pop,指针移动move(next/previous)
3需要设定getData,setData来实现数据的获取和更改。
4获取队列大小getSize
5构造函数为初始化空队列
(暂时没想道其他的需要,只实现了这一些)
测试例子
int main() {
rqueue<int> w;
for (int i = 0; i < 5; i++) {
w.push(i);
}
for (int i = 0; i < w.getSize(); i++) {
std::cout << w.getData() << std::endl;
w.moveNext();
}
while (w.getSize()) {
std::cout << "========================" << std::endl;
std::cout << w.getData() << std::endl;
std::cout << w.getSize() << std::endl;
w.pop();
}
std::cout << "========================" << std::endl;
for (int i = 0; i < w.getSize(); i++) {
std::cout << w.getData() << std::endl;
w.moveNext();
}
std::cout << "========================" << std::endl;
return 0;
}
输出结果为
0
1
2
3
4
========================
0
5
========================
1
4
========================
2
3
========================
3
2
========================
4
1
========================
========================
int main() {
rqueue<int> w