参考博客:浅谈算法和数据结构: 一 栈和队列 Python数据结构——栈、队列的实现(一) Python数据结构——栈、队列的实现(二) Python数据结构——链表的实现 数据结构 定义:简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。比如:列表、集合与字典等都是一种数据结构。 PS ...
分类:
编程语言 时间:
2017-09-09 21:37:13
阅读次数:
255
栈是遵循后进先出(LIFO)规则的一种有序集合,比如桌上的一叠书,我们只能从上面放或取。 队列是遵循先进先出(FIFO)规则的一种有序集合,比如排队,先排到的先离开。 数组也是一种有序的集合,它与上面两种数据结构类似。由于JavaScript中的数组本身拥有许多简单的方法,如push(), 所以用数 ...
分类:
编程语言 时间:
2017-09-08 20:33:44
阅读次数:
232
arr.sort():默认安字符串升序排列; 自定义排序:2步:首先定义比较器函数!其次将比较器函数传递给sort方法! 什么是比较器?定义任意两值比较策略的方法 js中方法也是一个比较器,方法名就是指向方法对象的变量名! function compare(a,b){return a-b;}//可以 ...
分类:
编程语言 时间:
2017-09-05 13:59:25
阅读次数:
163
栈实现的是一种后进先出(last in, first-out, LIFO)策略。 本文利用数组实现了栈的三种操作: PUSH(压入,即INSERT) POP(弹出,即DELETE) EMPTY(测试栈是否为空) 三种栈操作的执行时间都为O(1) 队列实现的是一种先进先出(first-in, firs ...
分类:
其他好文 时间:
2017-09-02 23:26:33
阅读次数:
280
栈和队列都属于限制了插入、删除操作的表。栈要求插入、删除操作都只能作用在一端;队列要求插入、删除操作不能作用在同一端。 因此,栈是先进后出的一种数据结构,队列是先进先出的数据结构。 C++的标准库中有栈模板,它的详细操作介绍请参考这篇博文:http://www.cnblogs.com/yeqluof ...
分类:
其他好文 时间:
2017-08-25 00:01:17
阅读次数:
239
栈和队列: 栈和队列是非常重要的两种数据结构,在软件设计中应用很多。栈和队列也是线性结构,线性表、栈和队列这三种数据结构的数据元素以及数据元素间的逻辑关系完全相同,差别是线性表的操作不受限制,而栈和队列的操作受到限制。栈的操作只能在表的一端进行,队列的插入操作在表的一端进行而其它操作在表的另一端进行 ...
分类:
其他好文 时间:
2017-08-24 23:56:42
阅读次数:
223
栈(stack)代表一种特殊的线性表,这种线性表只能在固定一端(通常是尾端)进行插入、删除操作。 进栈:1)让top引用指向新添加的元素,新元素的next引用指向原来的栈顶元素; 2)让记录栈内元素个数的size变量加1. 出栈:1)让top引用指向原栈顶元素的下一个元素,并释放原来的栈顶元素; 2 ...
分类:
编程语言 时间:
2017-08-23 19:06:42
阅读次数:
139
底层是一个双向链表,链表擅长插入和删除操作,队列和栈最常用的2种操作都设计到插入和删除 //用linkedList模拟栈,因为链表擅长插入和删除 ...
分类:
其他好文 时间:
2017-08-20 14:49:32
阅读次数:
162
参看博客: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