3.4 优先队列和priority_queue
有关操作
priority_queue<int ,vector<int> >a;
priority_queue<int ,vector<int> ,greater<int> >b;
priority_queue<int ,vector<int> ,less<int> >c;
a.top();
a.pop();
a.push();
3.5链表和list
例题
hdu 1276
http:
#include<bits/stdc++.h>
using namespace std;
int t,n;
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
int k=2;
list< int > mylist;
list< int >::iterator it;
for(int i=1;i<=n;i++)
{
mylist.push_back(i);
}
while(mylist.size()>3)
{
int num=1;
for(it=mylist.begin();it!=mylist.end();)
{
if(num++ %k==0) it=mylist.erase(it);
else it++;
}
k==2?k=3:k=2;
}
for(it=mylist.begin();it!=mylist.end();)
{
if(it!=mylist.begin())
{
printf(" ");
}
cout<<*it;
}
printf("\n");
}
return 0;
}