题意:给定一种二进制操作nand,为 0 nand 0 = 10 nand 1 = 1 1 nand 0 = 1 1 nand 1 = 0 现在要你模拟一个队列,实现PUSH x 往队头塞入x,POP队尾退出,REVERSE翻转,QUERY询问队头到队尾的nand和。 思路:其他都可以模拟,但是n为 ...
分类:
其他好文 时间:
2018-12-01 23:43:00
阅读次数:
125
前面一篇提到二进制队列实现了 N位二进制的补码,那么我们来实现布思算法。 关于BinaryQueue:https://www.cnblogs.com/XT-xutao/p/10050518.html 先来思考:我们这样实现二进制乘法呢? 对于无符号整数,是可以转化为加法的: 那么补码形式呢?好像一些 ...
分类:
编程语言 时间:
2018-12-01 23:37:59
阅读次数:
246
数组和链表内存上的区别 两个栈实现一个队列 两个队列实现一个栈 二叉树的四种遍历 森林的遍历 ...
分类:
编程语言 时间:
2018-12-01 17:07:19
阅读次数:
530
rabbitmq--路由模式 想象之前的订阅发布模式: 一个生产者,多个消费者,每一个消费者都有自己的一个队列,生产者没有将消息直接发送到队列,而是发送到了交换机,每个队列绑定交换机,生产者发送的消息经过交换机,到达队列,实现一个消息被多个消费者获取的目的。 需要注意的是,如果将消息发送到一个没有队 ...
分类:
其他好文 时间:
2018-11-28 20:29:59
阅读次数:
180
1 class MyQueue 2 { 3 public: 4 MyQueue(); 5 bool Get(int *&p); 6 bool Put(int a); 7 int GetLength(); 8 private: 9 struct Node * rear; 10 struct Node ... ...
分类:
其他好文 时间:
2018-11-24 21:07:11
阅读次数:
225
循环队列 在基于数组的队列中我们发现,在移出队首元素时时间复杂度为O(n),为了解决这个问题,我们引出了循环队列。 实现原理:基于数组实现,以数组头为队首,以数组尾为队尾, 此时多出一个front变量指向队首,当队首元素移出时,基于数组实现的队列中的元素不需要全部向前移动一个位置,只需要指向下一个元 ...
分类:
其他好文 时间:
2018-11-24 21:04:26
阅读次数:
136
1 push(const T& element) 2 { 3 if(queue1.size()>0)//如果queue1不为空则往queue1中插入元素 4 queue1.push(element); 5 else if(queue2.size()>0)//如果queue2不为空则往queue2中插... ...
分类:
其他好文 时间:
2018-11-24 21:00:21
阅读次数:
154
队列Queue *队列也是一种线性结构 *相比于数组,队列对应的操作是数组的子集 *只能从一端(队尾)添加元素,从另一端(队首)取出元素 *队列是一种先进先出的数据结构(先到先得 First In First Out) 基于数组的队列实现的源码如下: package queue;public int ...
分类:
编程语言 时间:
2018-11-24 11:47:57
阅读次数:
166
一、概念 1、算法: 算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。 2、算法的五大特性: 输入: 算法具有0个或多个输入 输出: ...
分类:
编程语言 时间:
2018-11-20 21:11:52
阅读次数:
155