本文介绍: queue的定义和vector没什么不同queue变量名;类型可以是int,double等基本数据类型,也可以是自定义的结构体,也可以是STL容器。stack变量名;类型可以是int,double等基本数据类型,也可以是自定义的结构体,也可以是STL容器。

目录

1.queue的头文件

2.queue的定义

3.queue的常用函数

3.1 push()

3.2 pop()


     STLf封装的queue也是十分的强大,一个queue不但可以实现队列,还可以实现循环队列。、

#include<queue>

    queue的定义和vector没什么不同

queue<类型名>变量名;

    类型可以是int,double等基本数据类型,也可以是自定义的结构体,也可以是STL容器。

queue<int>q;
queue<double>q;
queue<char>q;
queue<char,list<char>>q;

     push()在队尾插入一个元素

queue<int>q;
q.push(1);
q.push(2);
cout<<q.front()<<endl;

     输出:

1

    pop()删除队首元素

qqueue<int>q;
q.push(1);
q.push(2);
q.pop();
cout<<q.front()<<endl;

     输出:

2 //1已经被删除掉

     size()返回队列中元素个数

1
0
queue<int>q;
q.push(1);
q.push(2);
cout<<q.size()<<endl;

     输出:

2

     empty()判断队列是否为空,如果队列为空返回true

queue<int>q;
cout<<q.empty()<<endl;
q.push(1);
q.push(2);
cout<<q.empty()<<endl;

      输出:

1
0

    front()返回队首元素

queue<int>q;
q.push(1);
q.push(2);
q.push(3);
cout<<q.front()<<endl;
q.pop();
cout<<q.front()<<endl;

     输出:

1
2

     back()返回队尾元素

queue<int>q;
q.push(1);
q.push(2);
cout<<q.back()<<endl;

    输出:

2

#include<stack>
stack<类型名>变量名;

       类型可以是int,double等基本数据类型,也可以是自定义的结构体,也可以是STL容器。

    push()将元素压入栈中

stack<int>st;
st.push(1);
st.push(2);

     因为栈是一种先进后出的数据结构,我们只能访问栈顶元素

stack<int>st;
st.push(1);
st.push(2);
cout<<st.top()<<endl;

    输出:

2

     pop()用来弹出栈顶元素

stack<int>st;
st.push(1);
st.push(2);
cout<<st.top()<<endl;
st.pop();
cout<<st.top()<<endl;

     输出:

2
1

    size()返回栈中元素个数

stack<int>st;
st.push(1);
st.push(2);
st.push(3);
cout<<st.size()<<endl;

     输出:

3

    empty()用来判断栈是否为空,为空返回1,表示true;不为空返回0,表示false

stack<int>st;
cout<<st.empty()<<endl;
st.push(1);
st.push(2);
cout<<st.empty()<<endl;

    输出:

1
0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注