/** * 题目: * 编写一个类,用两个栈实现队列,支持队列的基本操作(add、poll、peek) * 分析: * 栈的特点是先进后出,而队列的特点是先进先出,我们可以用两个栈正好能把顺序 * 反过来实现类似队列的操作。 * 具体实现是一个栈作为压入栈,在压入数据时只往这个栈中压入,记为stac ...
分类:
其他好文 时间:
2020-03-04 12:29:06
阅读次数:
54
js是一个单线程,非阻塞,异步脚本语言 在执行栈中先进后出 (相对与函数中调用函数,单行代码执行直接出去了) 栈里面表现很慢的东西叫阻塞 slow //比如http请求 如果我们在浏览器控制台中运行'foo'函数,是否会导致堆栈溢出错误? function foo() { setTimeout(fo ...
分类:
其他好文 时间:
2020-02-24 10:04:35
阅读次数:
78
C++ 派生类对象的构造与析构过程 因为基类的成员变量和派生类的成员变量在内存中的连续的(下面程序会验证这一点),如下图所示: 所以构造派生类对象的时候,构造成员变量的过程就像入栈一样: 那么很自然,派生类对象析构的时候就是出栈的过程,先进后出,后进先出: 下边一个简单的程序验证这个结论: ...
分类:
编程语言 时间:
2020-02-23 18:06:42
阅读次数:
101
数据结构: 数据存储的常用结构有:栈、队列、数组、链表和红黑树。 栈: 栈:stack, 又称堆栈。 先进后出。 栈的入口、出口的都是栈的顶端位置。 压栈:就是存元素。即,把元素存储到栈的顶端位置,栈中已有元素依次向栈底方向移动一个位置。 弹栈:就是取元素。即,把栈的顶端位置元素取出,栈中已有元素依 ...
分类:
其他好文 时间:
2020-02-12 16:38:26
阅读次数:
61
1. 队列和栈 队列:就像管道,排队在,先进先出(FIFO); 栈:就像桶,先进后出。 2. 阻塞队列(BlockingQueue) A. 阻塞队列:由于队列有容量限制,故当队列元素已满时,新增加的元素必须等待,或当队列元素取出已空时,也会阻塞等待新的元素; B. ArrayBlockingQueu ...
分类:
编程语言 时间:
2020-02-11 18:54:16
阅读次数:
72
队列Queue、栈LifoQueue、优先级队列PriorityQueue 队列:队列是先进先出。 栈:栈是先进后出。 优先级队列:优先队列是根据优先级判定谁先出来,如果优先级一样,则按数据的ascii码输出。 import queue q = queue.PriorityQueue() q.put ...
分类:
其他好文 时间:
2020-02-02 23:26:30
阅读次数:
95
STL及一些常用函数的基本用法 [TOC] 1.vector(向量)的基本用法 vector是C++的STL中一个常见的容器,使用时需要加上\ include\的头文件,其可以动态储存数据,既可以很方便的实现插入,删除等基本操作,其基本语法如下: c++ include include using ...
分类:
其他好文 时间:
2020-02-02 14:00:18
阅读次数:
108
递归就是函数直接或者是间接的调用自己,相当于循环,使用时必需要有一个跳出条件,否则会进入死循环。它是栈的存取方式,先进后出,后进先出。 主要用于循环,如阶乘函数、幂函数和斐波那契数列。 <script> function fn(n) { if (n == 1) { return n; } retur ...
分类:
其他好文 时间:
2020-01-29 12:10:13
阅读次数:
72
栈 栈是一种应用特别广泛的数据结构,是一种典型的数据结构,实现后悔和回退功能.本实例为:将任意十进制转变为任意进制进行表示。由于进制转换中转换过程中存在取余倒序很好的契合栈"先进后出"的特点,故使用栈存储结构进行实现 一.栈的定义 ★栈(stack):只能在一端插入和删除的线性表,又称为“先进后出” ...
分类:
编程语言 时间:
2020-01-28 15:45:23
阅读次数:
62
输入一个链表,按链表从尾到头的顺序返回一个ArrayList 遇到这种逆置的问题,一般使用栈的先进后出的特性 public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ...
分类:
其他好文 时间:
2020-01-22 23:42:14
阅读次数:
71