金山---WPSc++笔试题

昨天笔试了金山的面试题,4个问答题,一筹莫展,基本要凉
今天刚巧看到STL, 想到第一个题的答案
题目是这样的:
设计一个数据结构s,s管理一个有k个元素的队列
并支持下面的操作:
I[val],将val插在队头,如果队列中有val,则将其插入到队头。
如果插入后,队列中的元素大于k个,将队尾的元素移出
P,打印队头元素
T,打印队尾元素

今天看了一下《深入实践C++模板编程》这本书,STL中有一个deque–双端队列,支持随机访问,头插、头删和尾插、尾删都是一个常数级的操作,刚好符合这个数据结构。
昨天,是用vector实现,使用两个变量分别指向队头和队尾的两个位置,随机访问操作符[]是用元素迁移的方式的。有点憨,同时
也看出来自己的知识点的不足,加油!

你可能感兴趣的:(刷题)