学过队列应该知道队列的操作主要有
判空
进队
出队
队长
我们在用时得先自己建好这些函数,而queue函数这个函数就包含了进队,出队,队长,判空…
我从别的地方复制一下主要用法:
**在C++中只要#include<queue>即可使用队列类。** 1. push 2. pop 3. size 4. empty 5. front 6. back 接下来逐一举例说明: 1. push 队列中由于是先进先出,push即在队尾插入一个元素,如: 1 queue<string> q; 2 q.push("Hello World!"); 3 q.push("China"); 4 cout<<q.front()<<endl; 可以输出:Hello World! 2. pop 将队列中最靠前位置的元素拿掉,是没有返回值的void函数。如: 1 queue<string> q; 2 q.push("Hello World!"); 3 q.push("China"); 4 q.pop(); 5 cout<<q.front()<<endl; 可以输出:China 原因是Hello World!已经被除掉了。 3. size 返回队列中元素的个数,返回值类型为unsigned int。如: queue<string> q; cout<<q.size()<<endl; q.push("Hello World!"); q.push("China"); cout<<q.size()<<endl; 输出两行,分别为0和2,即队列中元素的个数。 4. empty 判断队列是否为空的,如果为空则返回true。如: 1 queue<string> q; 2 cout<<q.empty()<<endl; 3 q.push("Hello World!"); 4 q.push("China"); 5 cout<<q.empty()<<endl; 输出为两行,分别是1和0。因为一开始队列是空的,后来插入了两个元素。 5. front 返回值为队列中的第一个元素,也就是最早、最先进入队列的元素。 注意这里只是返回最早进入的元素,并没有把它剔除出队列。如: 复制代码 1 queue<string> q; 2 q.push("Hello World!"); 3 q.push("China"); 4 cout<<q.front()<<endl; 5 q.pop(); 6 cout<<q.front()<<endl; 复制代码 输出值为两行,分别是Hello World!和China。只有在使用了pop以后,队列中的最早进入元素才会被剔除。 6. back 返回队列中最后一个元素,也就是最晚进去的元素。如: 1 queue<string> q; 2 q.push("Hello World!"); 3 q.push("China"); 4 cout<<q.back()<<endl; 输出值为China,因为它是最后进去的。 这里back仅仅是返回最后一个元素,也并没有将该元素从队列剔除掉。
总结一下:
- 在C++中只要#include即可使用队列类;
- 定义时queue + <数列类型>(如int,char) + 队列名;
- 关于back,front,如英语意思一个表示后,一个表示前。