题目:如何用两个栈模拟实现一个队列? 如果这两个堆栈的容量分别是m和n(m>n),你的方法能保证的队列容量是多少?(这里讨论的是顺序栈,如果是链式栈的话完全没有必要考虑空间) 分析:栈的特点是“后进先出(LIFO)”,而队列的特点是“先进先出(FIFO)”。用两个栈模拟实现一个队列的基本思路是...
分类:
其他好文 时间:
2015-10-09 22:42:26
阅读次数:
392
我们把命令行窗口单独做成一个新的任务。
要实现字符输入,只要在键盘被按下的时候向console_task(命令行窗口任务)的FIFO发送数据即可。但要发送数据必须要知道struct FIFO的内存地址才行。
把 struct FIFO 放到 struct TASK里面。基本上没有什么任务是完全用不到FIFO的,因此我们把它们绑定起来。struct TASK {
int sel, fl...
分类:
其他好文 时间:
2015-10-08 21:39:07
阅读次数:
147
Queue是什么队列,是一种数据结构。除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的。无论使用哪种排序方式,队列的头都是调用remove()或poll()移除元素的。在FIFO队列中,所有新元素都插入队列的末尾。Queue中的方法Queue中的方法不难理解,...
分类:
编程语言 时间:
2015-10-05 16:51:10
阅读次数:
265
一,Dispatch Queue的实现:1,用于管理追加的Block的C语言层实现的FIFO队列。2,Atomic函数中实现的用于排他控制的轻量级信号。3,用于管理线程的C语言层实现的一些容器。二,CGD的好处。无论编程人员如何努力编写管理线程的代码,在性能方面也不可能胜过XNU内核级所实现的GCD...
分类:
其他好文 时间:
2015-10-04 23:29:20
阅读次数:
203
继续读啊哈磊《啊哈!算法》感悟系列——队列地铁售票处排队,先来的人先到队首先买完先走,后来的人排在队尾等候后买完后走。想买票,必须排在队尾;买完票,只能从队首离开。这种先进先出(First In First Out,FIFO),后进后出的线性队伍,就是我们说的——队列。在现实中,队列里包含的是人,在...
分类:
系统相关 时间:
2015-10-04 15:52:03
阅读次数:
208
在前一篇文章中,我们讲解了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介绍进程的另一种通信方式——命名管道,来解决不相关进程间的通信问题。
什么是命名管道
命名管道也被称为FIFO文件,它是一种特殊类型的文件,它在文件系统中以文件名的形式存在,但是它的行为却和...
分类:
系统相关 时间:
2015-09-23 13:36:32
阅读次数:
279
#include #include#include#include #include#include #include#define N 200using namespace std; int page[N];//页面引用号 int block[N];//物理块,内存 int dist[N]...
分类:
编程语言 时间:
2015-09-23 01:03:10
阅读次数:
392
1,堆作为优先级队列的应用对于普通队列而言,具有的性质为FIFO,只要实现在队头删除元素,在队尾插入元素即可。因此,这种队列的优先级可视为按 时间到达 的顺序来衡量优先级的。到达得越早,优先级越高,就优先出队列被调度。更一般地,很多应用不能单纯地按时间的先后来分优先级,比如按CPU占用时间或者其它方...
分类:
其他好文 时间:
2015-09-20 17:48:56
阅读次数:
211
1 /** 2 GCD两个核心概念:任何和队列 3 4 任务:执行什么操作 5 队列:用来存放任务 6 7 使用就2个步骤 8 1.定制任务 9 2.将任务添加到队列中 10 11 任务的取出队列原则:FIFO原则: 先进先出,后进后出12 13 */14 15 #im...
分类:
编程语言 时间:
2015-09-18 01:59:08
阅读次数:
181
fshc2mcu_if中包括ahb2reg/ahb2fifo两个文件,都是协议转换文件。ahb2reg下游文件是reg files,ahb2fifo下游文件是fifo控制器。所有的配置和flag都是要保存在reg files中的。fifo的空满flag也要保存在reg 中,所以有fifo wappe...
分类:
其他好文 时间:
2015-09-15 14:16:31
阅读次数:
130