队列和栈
這里記一下STL的隊列和棧。
隊列。
頭文件<queue>,操作有pop,push,front,empty,size,back,聲明是queue<數據類型>q。
?
更有用的是優先隊列。
頭文件同隊列,操作有pop,push,top,empty,size,聲明是priority_queue<數據類型>q。
需要學習的是一些cmp的寫法,現在習慣寫在數據里面,還在學習中。。。
hdu1509為模板題。
?
#include <cstdio> #include <queue> using namespace std; int co; char s[40]; struct node {char name[20];int num,pri,ID;bool operator < (const node &k) const{if(k.pri!=pri) return pri>k.pri;else return num>k.num;} }p; priority_queue<node>q; int main() {while(scanf("%s",s)!=EOF){if(s[0]=='P'){scanf("%s%d%d",p.name,&p.ID,&p.pri);++co;p.num=co;q.push(p);}else{if(q.empty()) printf("EMPTY QUEUE!\n");else{p=q.top();q.pop();printf("%s %d\n",p.name,p.ID);}}}return 0; }?
?
?
棧。
頭文件是<stack>。操作有pop,push,top,empty,size,聲明是stack<數據類型>s。
?
轉載于:https://www.cnblogs.com/cons/p/5188072.html
總結
- 上一篇: GitHub上最受欢迎的Android开
- 下一篇: ScheduleThreadPoolEx