uva11995(栈,队列,优先队列)

题意:

1代表放入;

2代表拿出;

问可能是哪种数据结构;

思路:

将题目提供的三种数据结构拿进去模拟一下就行了;

#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<stack>using namespace std;queue<int> q;stack<int> s;priority_queue<int> pq;int main() {int n;int operate, num;while(scanf("%d",&n) == 1) {while(!q.empty())q.pop();while(!s.empty())s.pop();while(!pq.empty())pq.pop();bool isq = 1;bool iss = 1;bool ispq = 1;while(n–) {scanf("%d%d",&operate,&num);if(operate == 1) {if(isq)q.push(num);if(iss)s.push(num);if(ispq)pq.push(num);}if(operate == 2) {if(isq) {if(q.empty())isq = 0;else {if(q.front() != num)isq = 0;elseq.pop();}}if(iss) {if(s.empty())iss = 0;else {if(s.top() != num)iss = 0;elses.pop();}}if(ispq) {if(pq.empty())ispq = 0;else {if(pq.top() != num)ispq = 0;elsepq.pop();}}}}if(iss && !isq && !ispq)printf("stack\n");else if(!iss && isq && !ispq)printf("queue\n");else if(!iss && !isq && ispq)printf("priority queue\n");else if(!iss && !isq && !ispq)printf("impossible\n");elseprintf("not sure\n");}}

,失败是什么?没有什么.只是更走近成功一步,

uva11995(栈,队列,优先队列)

相关文章:

你感兴趣的文章:

标签云: