关注
template <typename T>
class Queue{
private:
unsigned int num;
int capacity;
T *elems; //使用数组的方式存储
public:
Queue() :elems(NULL)
, num(0)
, capacity(0)
{}
~Queue()
{
if (elems)
{
delete[] elems;
elems = NULL;
}
}
int Size()
{
return num;
}
void Push(T element)
{
checkCapacity();
if (num < capacity)
{
elems[num] = element;
num++;
}
}
void Pop()
{
int i = 0;
while (num>i)
{
elems[i] = elems[i + 1];
i++;
}
num--;
}
bool Empty()
{
return num == 0;
}
T Back()
{
return elems[num - 1];
}
T Front()
{
return elems[0];
}
void checkCapacity()
{
if (num >= capacity)
{
capacity = capacity > 0 ? capacity * 2 : 3;
T* tmp = new T[capacity];
for (int i = 0; i < num; i++)
{
tmp[i] = elems[i];
}
delete[] elems;
elems = tmp;
}
}
};
void test()
{
Queue<int> s;
s.Push(32);
s.Push(332);
s.Push(54);
s.Push(65);
s.Push(76);
while (!s.Empty())
{
cout << s.Front() << " ";
s.Pop();
}
cout << endl;
}
查看原帖
点赞 评论
相关推荐
程序员小白条:中大厂说的上名字的,必定要算法,hot100只是最基础的了,题库远不止100题捏,一般在300-400题量之间,算法=学校课程=简单题也做不出,多准备八股文和算法吧,其他项目可以放放,精刷算法就行了,花时间成长很快的
点赞 评论 收藏
分享
01-21 04:38
中国矿业大学 大数据开发工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# xx岗简历求拷打 #
8680次浏览 104人参与
# 求职季如何保持心态不崩 #
212154次浏览 1459人参与
# 开工第一帖 #
28763次浏览 621人参与
# 面试反问你会问什么 #
168472次浏览 1737人参与
# 有转正机会的小厂实习值得去吗? #
8691次浏览 97人参与
# 你听到的“最没用”的秋招建议 #
51334次浏览 324人参与
# 工作不开心辞职是唯一出路吗 #
9539次浏览 40人参与
# 产品面经 #
263443次浏览 2177人参与
# 掌握什么AI技能,会为你的求职大大加分 #
7387次浏览 331人参与
# 你收到了团子的OC了吗 #
1532414次浏览 11825人参与
# 携程求职进展汇总 #
888997次浏览 5881人参与
# 远程面试的尴尬瞬间 #
328329次浏览 1917人参与
# 制造业的秋招小结 #
144806次浏览 2093人参与
# 拼多多求职进展汇总 #
848349次浏览 6593人参与
# 实习要如何选择和准备? #
145177次浏览 1566人参与
# 面试题刺客退退退 #
535190次浏览 7532人参与
# 非技术岗是怎么找实习的 #
295476次浏览 2594人参与
# 找工作时的取与舍 #
122909次浏览 878人参与
# 现在还是0offer,延毕还是备考 #
1299010次浏览 7929人参与
# 你最讨厌面试被问什么 #
8725次浏览 107人参与
