STL基本操作及其运用

来源:互联网 发布:mac投影仪切换快捷键 编辑:程序博客网 时间:2024/05/17 23:37

STL stack的用法:

头文件:#include<stack>

注意分配空间 的using namespace std;

基本操作:

push(x) x加入栈中,即入栈操作

pop() 出栈操作(删除栈顶),只是出栈,没有返回值

top() 返回第一个元素(栈顶元素)

size() 返回栈中的元素个数

empty() 当栈为空时,返回 true

  STL queue的用法:

 头文件:#include<queue>

基本操作:

push(x) x压入队列的末端

pop() 弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值

front() 返回第一个元素(队顶元素)

back() 返回最后被压入的元素(队尾元素)

empty() 当队列为空时,返回true

size() 返回队列的长度


#include<stack>#include<queue>#include <vector>#include<iostream>#include<stdio.h>using namespace std;int main(){    int n;    while(~scanf("%d",&n))    {        int i;        stack<int>ic;        queue<int>ixy;        int a;        for(i=0;i<n;i++)        {             scanf("%d",&a);             ic.push(a);//入栈             ixy.push(a);//如列队        }        cout<<"queue\n";        while(!ixy.empty())        {            cout<<ixy.front()<<" ";            ixy.pop();        }        cout<<endl;        cout<<"stack\n";        while(!ic.empty())        {            printf("%d ",ic.top());            ic.pop();        }        printf("\n");    }}-----------------------------------------------------------------#include<queue>#include<iostream>using namespace std;struct yy{    int x,y;};queue<yy>l;//自定义结构体队列,stack也可以这样用int main(){    int n;    yy a;    while(cin>>n)    {        for(int i=0;i<n;i++)        {            cin>>a.x>>a.y;            l.push(a);        }        while(!l.empty())        {            cout<<l.front().x<<" "<<l.front().y<<endl;            l.pop();        }    }}


0 0
原创粉丝点击