队列的特征是:先进先出 应用场景:消息通信、多进程间的协同、多线程间的协同等 在队列中需要设计的实例属性:head节点、tail节点 需要设计的实例方法有两个:分别是入队队列enqueue和出队队列dequeue 1 class Node(object): #节点,包括两个属性,一个是节点的值,一个 ...
分类:
编程语言 时间:
2017-10-12 13:06:48
阅读次数:
148
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1047 我们对每矩阵的一列维护一个大小为$n$的单调队列,队中元素为矩阵中元素。然后扫描每一行,再次维护一个大小为$n$的单调队列,队中元素为当前列的队列中取出的最值。$O(n^2)$扫过去就 ...
分类:
其他好文 时间:
2017-10-10 21:49:10
阅读次数:
198
整理了一份PHP开发中数组操作大全,包含有数组操作的基本函数、数组的分段和填充、数组与栈、数组与列队、回调函数、排序、计算、其他的数组函数等。 一、数组操作的基本函数 数组的键名和值 array_values($arr); 获得数组的值array_keys($arr); 获得数组的键名array_f ...
分类:
编程语言 时间:
2017-10-05 16:12:21
阅读次数:
163
http://poj.org/problem?id=2823 题意:给出数组和滑动窗口的大小,每次输出滑动窗口中的最大值和最小值。 思路:这题可以算是单调队列的模板题了,分别维护单调递增和单调递减的队列,队尾在每次插入时维护即可,队首的维护是当队首元素不在滑动窗口范围内时就舍去。 ...
链式存储的队列称为链队列。和链栈类似,用单链表来实现链队,根据队列的FIFO原则,为了操作上的方便,分别需要一个头指针和尾指针。队头在链头,队尾在链尾。链式队列在进队时无队满问题,但有队空问题。队空条件为front->next==NULL。 链队描述如下: 链队的操作算法描述如下: 优先级队列 队列 ...
分类:
其他好文 时间:
2017-10-02 20:20:06
阅读次数:
164
队列的使用注意:1.无法输出数列,可以返回队尾或队首。 2.队列是先进后出,相当于一群人排队,队列头的人先走,后来的人站在队尾。 3.利用STL来实现普通队列: q.pop() 删除队首 q.front() 返回队首 ... ...
分类:
其他好文 时间:
2017-09-29 16:32:52
阅读次数:
134
队列 1.Queue定义 System.Collections.Queue类表示对象的先进先出集合,存储在Queue(队列)中的对象在一端插入,从另一端移除. 2.优点 (1).能对集合进行顺序处理(先进先出) (2)能接受null值,并且允许重复的元素 3.Queue的构造器 构造器函数 注释 Q ...
小易老师是非常严厉的,它会要求所有学生在进入教室前都排成一列,并且他要求学生按照身高不递减的顺序排列。有一次,n个学生在列队的时候,小易老师正好去卫生间了。学生们终于有机会反击了,于是学生们决定来一次疯狂的队列,他们定义一个队列的疯狂值为每对相邻排列学生身高差的绝对值总和。由于按照身高顺序排列的队列 ...
分类:
其他好文 时间:
2017-09-24 16:14:14
阅读次数:
161
1.队列先进先出,栈先进后出。 2.从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同。 但它们是完全不同的数据类型。除了它们各自的基本操作集不同外,主要区别是对插入和删除操作的"限定": 栈是限定只能在表的一端进行插入和删除操作的线性表;队列是限定只能在表的一端进行插入和在另一端进 ...
分类:
编程语言 时间:
2017-09-19 17:45:25
阅读次数:
199
恢复内容开始 一.栈 1.栈:先进后出,后进先出,每次访问一个数据项,即最后一个添加的数据项(每次添加的数据放到最后)。数据入栈和出栈的时间复杂度O(1),栈不需要移动和比较数据。 2.代码 二.队列 1.队列:先进先出,每次操作一个数据项,先进去的。数据放到最后,从最前面开始拿,所以需要两个标记, ...
分类:
其他好文 时间:
2017-09-13 15:10:43
阅读次数:
174