剑指offer面试题7相关题目:用两个队列实现一个栈 解题思路:根据栈的先入后出和队列的先入先出的特点1.在push的时候,把元素向非空的队列内添加2.在pop的时候,把不为空的队列中的size()-1份元素poll出来,添加到另为一个为空的队列中,再把队列中最后的元素poll出来两个队列在栈不为空 ...
分类:
编程语言 时间:
2017-02-26 20:20:51
阅读次数:
228
感觉两个队列实现栈 比 两个栈实现队列 麻烦 1.栈为空:当两个队列都为空的时候,栈为空 2.入栈操作:当队列2为空的时候,将元素入队到队列1;当队列1位空的时候,将元素入队到队列2; 如果队列1 和 队列2 都为空的时候,那就选择入队到队列1. 3.出队操作:当两个队列都为空的时候,引发错误“栈为 ...
分类:
编程语言 时间:
2017-02-23 23:53:32
阅读次数:
414
队列实现的是一种先进先出(first-in, first-out, FIFIO)的策略,队列中的插入的操作称为入队(enqueue),队列的删除操作称为出队(dequeue)。 使用一个数组S[n]来实现容量为n-1的队列,定义属性head和tail分别指向对列的第一个元素和下一个新元素要插入的位置 ...
分类:
其他好文 时间:
2017-02-07 16:19:13
阅读次数:
171
http://www.cnblogs.com/lewiskyo/p/6359789.html 上文介绍了使用数组实现定时器,但因为插入和删除定时器的效率太低,所以这里改用优先队列实现一次。 实现代码如下: 代码与使用数组实现的大致相同,只是换了队列实现,而且在add_timer时直接使用优先队列的接 ...
分类:
其他好文 时间:
2017-02-01 11:45:43
阅读次数:
249
我这里要讲的并不是IPC中的消息队列,我要讲的是在进程内部实现自定义的消息队列,让各个线程的消息来推动整个进程的运动。进程间的消息队列用于进程与进程之间的通信,而我将要实现的进程内的消息队列是用于有序妥当处理来自于各个线程请求,避免一窝蜂的请求而导致消息的异常丢失。想想socket编程里的liste ...
分类:
系统相关 时间:
2017-01-09 21:44:00
阅读次数:
266
阻塞队列的特点:当队列元素已满的时候,阻塞插入操作; 当队列元素为空的时候,阻塞获取操作; 生产者线程:Producer 消费者线程:Consumer 运行: 结果: ...
分类:
其他好文 时间:
2016-12-11 18:25:57
阅读次数:
205
用邻接表存图 输入图之后输入源点start 用队列实现bfs 用栈实现dfs ...
分类:
其他好文 时间:
2016-11-30 20:00:05
阅读次数:
178
Disque是一个内存储存的分布式任务队列实现, 它由 Redis 的作者 Salvatore Sanfilippo (@antirez)开发, 目前正处于预览版(alpha)阶段。 本文档将对 Disque 的安装方法和运行方法进行介绍, 说明各个 Disque 命令的作用, 并给出各个命令的运行 ...
分类:
其他好文 时间:
2016-11-27 23:20:08
阅读次数:
210
这里之所以扩充一个 有限队列 是因为,生活使用中队列通常会附加优先级,比如排队买票,一般老人和军人等会有优先权限。 实现:继承上篇的 普通队列实现。这里用一种方法,入队的时候,进行排序插入到指定位置,输出不变。 优先队列类 继承原型方法 添加数据 完整代码 下面研究链表 ...
分类:
编程语言 时间:
2016-11-08 16:58:14
阅读次数:
302
题目: 利用队列实现对某一个数据序列的排序(采用基数排序),其中对数据序列的数据(第1和第2条进行说明)和队列的存储方式(第3条进行说明)有如下的要求: 1)当数据序列是整数类型的数据的时候,数据序列中每个数据的位数不要求等宽,比 如: 1、21、12、322、44、123、2312、765、56 ...
分类:
编程语言 时间:
2016-11-06 16:40:28
阅读次数:
424