最近项目里有遇到一些并发的问题,想实现一个队列来将并发的请求一个一个串行处理,可以理解为使用消息队列处理并发问题,之前实现过一个简单的 `EventBus`,于是想在 `EventBus` 的基础上改造一下,加一个队列,改造成类似消息队列的处理模式。消息的处理(Consumer)直接使用 .netc... ...
分类:
其他好文 时间:
2019-11-24 11:38:13
阅读次数:
57
java8 Stream 什么是 Stream? Stream(流)是一个来自数据源的元素队列并支持聚合操作 元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。 流的来源。 可以是 集合 , 数组 , I/O channel , 产生器generator 等 ...
分类:
编程语言 时间:
2019-11-17 11:05:35
阅读次数:
88
"题目" 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 题解 描述 栈的特性是先进后出,队列的特点是先进先出,当数字依次入栈1后,依次出栈1并且压入栈2后,然后再出栈的顺序与进入栈1的顺序是一致的。 因此,进入队列通过压入栈1实现,弹出队列通过弹出栈2的栈顶元 ...
分类:
编程语言 时间:
2019-11-12 20:20:43
阅读次数:
107
用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。 1 using System.Collections.Generic; 2 namespace JianZhiOffer 3 { 4 class StackToQueue 5 { 6 Stack<int> stk1 ...
分类:
其他好文 时间:
2019-11-12 09:17:07
阅读次数:
80
题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析: 栈的特点是先进后出,队列的特点则是先进先出。 题目要求我们用两个栈来实现一个队列,栈和队列都有入栈(入队)的操作,所以我们可以使用一个栈来模拟入队的操作,另一个栈用来负责出队。 利用stack1模拟 ...
分类:
编程语言 时间:
2019-11-09 19:44:32
阅读次数:
96
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 https://www.nowcoder.com/questionTerminal/54275ddae22f475981afa2244dd448c6 做法: 1)总是在stack1中push元素‘ 2)当stack ...
分类:
其他好文 时间:
2019-11-09 00:32:08
阅读次数:
81
/* 题目: 用两个栈实现一个队列。队列声明如下。 */ /* 思路: 将值压入stack1,再从stack1弹出到stack2,则为先进先出。 appendTail时直接压入stack1即可,当stack2没有可用于deleteHead的元素时,将stack1的元素全部压入stack2。 */ t ...
分类:
其他好文 时间:
2019-11-08 20:50:29
阅读次数:
100
题目描述 约翰的 N ( 1≤N≤100000 )只奶牛站成了一列。每只奶牛都写有一个号牌,表示她的品种,号牌上的号码在 1…K ( 1≤K≤10000)范围内。 比如有这样一个队列:1,5,3,2,5,3,4,4,2,5,1,2,3 根据约翰敏锐的数学神经,他发现一些子序列在这个队列里出现,比如" ...
分类:
其他好文 时间:
2019-11-03 18:31:25
阅读次数:
82
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 定义两个栈stack1,stack2,stack1负责存数据,stack2负责辅助完成队列的弹出。stack1维持一个队列的顺序,stack1栈底数据是最先压入的,弹出的时候,应该是最先被弹出的。我 ...
分类:
编程语言 时间:
2019-11-02 12:11:38
阅读次数:
102
现在有一个A队列和一个B队列。 (1)入栈操作,判断A队列是否有元素,若A队列有元素,则元素直接入A队列;若没有,则将元素入B队列; (2)出栈操作,若A和B都没有元素,则出栈失败; 判断A是否有元素,若A有元素,则获取A元素的个数N,将前N-1个元素出队并进入B队列,最后一个元素即为出栈元素; 如 ...
分类:
其他好文 时间:
2019-10-31 23:40:10
阅读次数:
121