题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 栈的特性:先进后出 队列的特:先进先出 将栈1的内容全都弹出,然后推入栈2,弹出栈2 达到先进先出的功能;所以分为push栈 和 pop 栈 代码: 拓展: 用两个队列实现一个栈: 思路: 两个队列 ...
分类:
其他好文 时间:
2017-09-13 09:52:35
阅读次数:
179
栈实现的是一种后进先出(last in, first-out, LIFO)策略。 本文利用数组实现了栈的三种操作: PUSH(压入,即INSERT) POP(弹出,即DELETE) EMPTY(测试栈是否为空) 三种栈操作的执行时间都为O(1) 队列实现的是一种先进先出(first-in, firs ...
分类:
其他好文 时间:
2017-09-02 23:26:33
阅读次数:
280
http://www.cnblogs.com/kaituorensheng/archive/2013/03/02/2939690.html 思路 q1是专职进出栈的,q2只是个中转站 入栈:直接入队列q1即可 出栈:把q1的除最后一个元素外全部转移到队q2中,然后把刚才剩下q1中的那个元素出队列。之 ...
分类:
其他好文 时间:
2017-09-01 09:53:35
阅读次数:
188
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1053 题目大意:给一个字符串(只包含A-Z和下划线_表示空格),问8bit的ASCII编码和最优编码所需位数,并求比值。 关键思想:先统计权值,前者就是8*长度,后者就是让我们求Huffman编码的带权 ...
分类:
其他好文 时间:
2017-08-26 14:23:25
阅读次数:
171
Redis和消息队列使用实战 消息队列是在乐视这边非常普遍使用的技术。在我们部门内部,不同的项目使用的消息队列实现也不一样。下面是支付系统的流转图(部门兄弟画的,借用一下): 从图中可以看到,里面用到了kafka消息队列。作用是做数据库分库分表后的聚合,异步汇总到一张总表。里面也用到了redis,用 ...
分类:
其他好文 时间:
2017-08-25 11:05:52
阅读次数:
198
1 package com.mmall.common.Test; 2 3 import java.util.Comparator; 4 import java.util.PriorityQueue; 5 import java.util.Queue; 6 7 /** 8 * Created by W... ...
分类:
其他好文 时间:
2017-08-22 16:05:55
阅读次数:
134
参看博客:http://www.imooc.com/article/1515 但是代码在两个队列实现一个栈的时候代码存在问题 正确代码如下: 程序的运行结果是: 3 2 1 import java.util.Queue;import java.util.concurrent.ArrayBlockin ...
分类:
编程语言 时间:
2017-08-20 10:02:58
阅读次数:
127
在《剑指Offer》中,在栈和队列习题中,作者留下来一道题目供读者自己实现,即“用两个队列实现一个栈”。 在计算机数据结构中,栈的特点是后进先出,即最后被压入(push)栈的元素会第一个被弹出(pop);队列的特点是先进先出,即第一个进入队列的元素将会被第一个弹出来。虽然栈和队列特点是针锋相对,但是 ...
分类:
编程语言 时间:
2017-08-18 14:27:18
阅读次数:
256
思路: 使用两个栈实现一个队列,栈A用作插入栈,栈B用作弹出栈。 队列的特点为先进先出。 代码如下: ...
分类:
其他好文 时间:
2017-08-08 16:48:23
阅读次数:
161
stack: 先进后出 pop(); push(); top(); size(); empty() queue: 先进先出 pop(); push(); front(); back(); size(); empty() 使用队列实现栈: 最重要的是考虑pop函数,因为要pop 最后进入的: ...
分类:
其他好文 时间:
2017-07-31 18:55:26
阅读次数:
143