C++队列用法实例
本文实例讲述了C++队列用法。分享给大家供大家参考。具体如下:
/* 队列使用时必须包含头文件 #include <queue> 有以下几种方法 入队push(),出队pop(), 读取队首元素front(),读取队尾元素back() , 判断队是否有元素empty() 求队列元素个数size() */ #include <iostream> #include <queue> using namespace std; int main() { queue<int> one; one.push(1); one.push(2); one.push(3); cout<<"one 队列长度:"<<one.size()<<endl; cout<<"队尾元素是:"<<one.back()<<endl; cout<<"队头元素是:"<<one.front()<<endl; cout<<"队列是否为空(1为空,0为非空):"<<one.empty()<<endl; one.pop(); //删除是从队头元素开始的 cout<<one.front()<<endl; cout<<one.size()<<endl; //cout<<one.top()<<endl; //普通队列好像没有次方法 //优先队列的使用 优先队列中使用back、front 出现错误 priority_queue<int> three; three.push(10); three.push(20); three.push(30); cout<<"three 优先队列长度:"<<three.size()<<endl; cout<<"队列是否为空(1为空,0为非空):"<<three.empty()<<endl; while (false == three.empty()) { cout<<three.top()<<endl; three.pop(); } cout<<endl; system("pause"); return 0; }
希望本文所述对大家的C++程序设计有所帮助。
相关推荐
-
C++中队列的建立与操作详细解析
什么是队列结构 队列结构是从数据运算来分类的,也就是说队列结构具有特殊的运算规则.而从数据的逻辑结构来看,队列结构其实就是一种线性结构.如果从数据的存储结构来进一步划分,队列结构可以分成两类. 顺序队列结构:即使用一组地址连续的内存单元依次保存队列中的数据.在程序中,可以定义一个指定大小的结构数组来作为队列. 链式队列结构:即使用链表形式保存队列中各元素的值. 在队列结构中允许对两端进行操作,但是两端的操作不同.在表的一端只能进行删除操作,称为队头:在表的另一端只能进行插入操作,称为队尾.如果队
-
C++中用两个标准容器stack,实现一个队列的方法详解
代码如下所示: 复制代码 代码如下: // StackToQueue.cpp : 定义控制台应用程序的入口点.//用两个标准容器stack,实现一个队列#include "stdafx.h"#include <iostream>#include <stack>using namespace std;template <class T>class StackToQueue{public: StackToQueue() { stack1; stack
-
C++ 中"priority_queue" 优先级队列实例详解
C++ 中"priority_queue" 优先级队列实例详解 1. 简介 标准库队列使用了先进先出(FIFO)的存储和检索策略. 进入队列的对象被放置在尾部, 下一个被取出的元素则取自队列的首部. 标准库提供了两种风格的队列: FIFO 队列(FIFO queue, 简称 queue), 以及优先级队列(priority queue). priority_queue 允许用户为队列中存储的元素设置优先级. 这种队列不是直接将新元素放置在队列尾部, 而是放在比它优先级低的元素前面. 标
-
C++循环队列实现模型
本文实例讲述了C++循环队列实现模型.分享给大家供大家参考.具体分析如下: 前段时间在知乎上看到这样一个小题目: 用基本类型实现一队列,队列要求size是预先定义好的的.而且要求不可以使用语言自带的api,如C++的STL.普通的实现很简单,但是现在要求要尽可能的时间和空间复杂度的优化,要和语言自带的api比较时间和空间.这个队列还要支持如下的操作: constructor: 初始化队列 enqueue:入队 dequeue:出队 队列是一种基本的数据结构,在平常的应用中十分广泛,多数情况队列都
-
用C++实现队列的程序代码
C++实现队列,如有不足之处,还望指正 复制代码 代码如下: // MyQueue.cpp : 定义控制台应用程序的入口点.//实现链式队列(queue),包括一个头结点.队列操作包括在队头出队(pop).在队尾入队(push).//取得队头元素(front_element).取得队尾元素(back_element).队列元素个数(size).//队列是否为空(empty).#include "stdafx.h"#include <iostream>using namesp
-
解析C++无锁队列的实现代码
本文给出一种C++无锁队列的实现代码,主要用于一个线程读取数据另外一个线程写数据 复制代码 代码如下: #ifndef LOCK_FREE_QUEUE_H_#define LOCK_FREE_QUEUE_H_ //不加锁队列,适合一个线程读取,一个线程写#include <list>template <typename T>class LockFreeQueue{ public: LockFreeQueue() { list
-
C++非递归队列实现二叉树的广度优先遍历
本文实例讲述了C++非递归队列实现二叉树的广度优先遍历.分享给大家供大家参考.具体如下: 广度优先非递归二叉树遍历(或者说层次遍历): void widthFirstTraverse(TNode* root) { queue<TNode*> q; // 队列 q.enqueue(root); TNode* p; while(q.hasElement()) { p = q.dequeue(); // 队首元素出队列 visit(p); // 访问p结点 if(p->left) q.enqu
-
PHP消息队列用法实例分析
本文实例讲述了PHP消息队列用法.分享给大家供大家参考,具体如下: 该消息队列用于linux下,进程通信 #根据路径和后缀创建一个id $key = ftok(__DIR__, 'R'); #获取队列中的消息 $q = msg_get_queue($key); #删除队列 msg_remove_queue($q); #获取队列的状态信息 $status = msg_stat_queue($q); print_r($status); echo "\n"; for($i=0;$i<1
-
PHP队列用法实例
本文实例讲述了PHP队列用法.分享给大家供大家参考.具体分析如下: 什么是队列,是先进先出的线性表,在具体应用中通常用链表或者数组来实现,队列只允许在后端进行插入操作,在前端进行删除操作. 什么情况下会用了队列呢,并发请求又要保证事务的完整性的时候就会用到队列,当然不排除使用其它更好的方法,知道的不仿说说看. 队列还可以用于减轻数据库服务器压力,我们可以将不是即时数据放入到队列中,在数据库空闲的时候或者间隔一段时间后执行.比如访问计数器,没有必要即时的执行访问增加的Sql,在没有使用队列的时候s
-
C#线程队列用法实例分析
本文实例讲述了C#线程队列用法.分享给大家供大家参考.具体如下: using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace ThreadPro { class Program { static Mutex gM1; static Mutex gM2; const int ITERS = 100; static AutoResetEvent Event1
-
C++队列用法实例
本文实例讲述了C++队列用法.分享给大家供大家参考.具体如下: /* 队列使用时必须包含头文件 #include <queue> 有以下几种方法 入队push(),出队pop(), 读取队首元素front(),读取队尾元素back() , 判断队是否有元素empty() 求队列元素个数size() */ #include <iostream> #include <queue> using namespace std; int main() { queue<int&
-
Python多线程通信queue队列用法实例分析
本文实例讲述了Python多线程通信queue队列用法.分享给大家供大家参考,具体如下: queue: 什么是队列:是一种特殊的结构,类似于列表.不过就像排队一样,队列中的元素一旦取出,那么就会从队列中删除. 线程之间的通信可以使用队列queue来进行 线程如何使用queue.Queue[还有其他类型的对象下面讲]来通信: 1.创建一个Queue对象:对象=queue.Queue(x),x是队列容量,x可以不填,默认没有容量限制, 2.get()可以使线程从队列中获取一个元素,如果队列为空,ge
-
JavaScript数据结构与算法之队列原理与用法实例详解
本文实例讲述了JavaScript数据结构与算法之队列原理与用法.分享给大家供大家参考,具体如下: 队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素.队列用于存储按顺序排列的数据,先进先出,这点和栈不一样(后入先出).在栈中,最后入栈的元素反而被优先处理.我们现在可以把队列想象对我们去餐馆吃饭的情景,很多人排队吃饭,排在最前面的人先打饭.新来的人只能在后面排队.直到轮到他们为止. 一:对队列的操作 队列有2种主要的操作,向队尾中插入新元素enqueue()方法和删除队列中的队首的元
-
java队列之queue用法实例分析
Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构 Queue接口与List.Set同一级别,都是继承了Collection接口.LinkedList实现了Deque接 口. Queue的实现 1.没有实现的阻塞接口的LinkedList: 实现了java.util.Queue接口和java.util.AbstractQueue接口 内置的不阻塞队列: PriorityQueue 和 ConcurrentLinkedQueue PriorityQueue 和 Concurren
-
jQuery stop()用法实例详解
近期查看前辈的代码,发现在使用animate()的时候前面需要加上stop(),来防止移进移出的闪动问题,但却不知道stop()里面参数的真正意思,今天查了下stop()中参数的意义和具体使用方法,分享给大家. stop(true)等价于stop(true,false): 停止被选元素的所有加入队列的动画. stop(true,true):停止被选元素的所有加入队列的动画,但允许完成当前动画. stop()等价于stop(false,false):停止被选元素当前的动画,但允许完成以后队列的所有
-
jQuery中dequeue()方法用法实例
本文实例讲述了jQuery中dequeue()方法用法.分享给大家供大家参考.具体分析如下: 此函数能够从队列最前端移除一个队列函数,并执行它. 建议和queue()函数一起学习. 语法结构: 复制代码 代码如下: $(selector).dequeue(queueName) 参数列表: 参数 描述 queueName 可选.队列的名称. 默认是 "fx",动画队列. 实例代码: 复制代码 代码如下: <!DOCTYPE html> <html> <hea
-
jQuery.Callbacks()回调函数队列用法详解
本文实例讲述了jQuery.Callbacks()回调函数队列用法.分享给大家供大家参考,具体如下: 1.jQuery.Callbacks The jQuery.Callbacks() function, introduced in version 1.7, returns a multi-purpose object that provides a powerful way to manage callback lists. It supports adding, removing, firi
随机推荐
- Python 除法小技巧
- js跳转页面方法实现汇总
- Redis中散列类型的常用命令小结
- VBScript教程 第三课VBScript数据类型
- Ubuntu系统安装Ruby的三种方法
- PHP循环遍历数组的3种方法list()、each()和while总结
- python使用ctypes模块调用windowsapi获取系统版本示例
- 在VS2008中使用正则表达式进行查找和替换
- Android实现自动文本框提示功能
- C#实现windows form倒计时的方法
- 实例学习SQL的Select命令
- jQuery实现非常实用漂亮的select下拉菜单选择效果
- js function定义函数的几种不错方法
- javascript计时器事件使用详解
- C#利用GDI绘制常见图形和文字
- 使用Rhino让java执行javascript的方法实例
- asp.net 防止SQL注入攻击
- Android自定义Material进度条效果
- Python使用pip安装报错:is not a supported wheel on this platform的解决方法
- 列出所有Bash Shell内置命令的方法示例