栈-先进后出 class Stack(): def __init__(self): self.items = [] def push(self,item): self.items.append(item) def pop(self): return self.items.pop() def peek ...
分类:
编程语言 时间:
2020-07-01 00:22:01
阅读次数:
98
1.介绍 redis中的list既实现了栈(先进后出)又实现了队列(先进先出) 1.示意图 2.各命令详解 LPUSH/RPUSH LPUSH: 从队列的左边入队一个或多个元素 将所有指定的值插入到存于 key 的列表的头部。如果 key 不存在,那么在进行 push 操作前会创建一个空列表。 如果 ...
分类:
其他好文 时间:
2020-06-27 11:56:54
阅读次数:
143
1. 方法签名 由方法的名称,类型形参的个数和它的每一个形参(从左到右的顺序)的类型和种类(值,引用或输出)组成。方法签名不含返回类型。 同一个类中定义多个方法名相同、参数列表(参数类型,参数个数)不同的方法,这样的形式我们称为方法重载。 比如下面例子: class Program { static ...
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof 问题 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead , ...
分类:
其他好文 时间:
2020-06-20 22:21:10
阅读次数:
70
双端队列和普通队列不同的地方是既可以队首和队尾进行插入,同时也就可以从队首和队尾进行remove删除 ,同时不遵循先进先出或者先进后出的规则,这需要通过具体的算法实现来确定,这个数据结构的实现过程如下: class Deque: def __init__(self): self.items = [] ...
分类:
编程语言 时间:
2020-06-19 23:13:50
阅读次数:
76
说起RabbitMQ大家第一时间应该想到的就是异步队列,关于异步队列的话题简直太多了,各位同学在园子里一搜便知。我第一次听异步队列这个名词感觉非常高大上😀,想到这项技术必须要学。但是学习的任何一门技术没经过项目的洗礼,都似乎少了点什么。嗯。是的。只有在企业级开发中,才能找到自己的遗漏的知识点。所以 ...
分类:
其他好文 时间:
2020-06-18 17:46:52
阅读次数:
59
一、概念 栈:后进先出,先进后出的数据结构。栈是一种“操作受限‘的线性表,只允许在一端插入和删除数据。 当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构。 二、如何实现“栈” 既可用数组(顺序栈),也可用链表(链式栈) 数组实现: // 基 ...
分类:
编程语言 时间:
2020-06-16 23:16:52
阅读次数:
79
栈的基本概念 栈(Stack)是一种线性数据结构但是在存取数据的方式上还是不太一样,栈是一种“先进后出”的一种数据结构。 栈的插入和删除操作只允许在表的一端进行,这个可以操作的端就叫做栈顶,而另一端被称为栈底。 进栈和出栈 根据栈结构的特点,通常只会对栈执行可以执行以下两种操作: 1. 向栈中添加元 ...
分类:
其他好文 时间:
2020-06-15 18:06:09
阅读次数:
63
写过swift的同学应该都知道defer这个关键字,可以让我们在函数return之前执行指定的代码,这对于有多个提前return而忘记释放资源的函数来说,简直不要太方便了,然而对于swift的前辈Objective-C或C++来说,苹果并没有帮我们定义,因此本文总结一下如何在C++和Objectiv... ...
分类:
编程语言 时间:
2020-06-14 18:54:28
阅读次数:
63
概念定义: 深度优先遍历:深度优先遍历是图论中的经典算法。其利用了深度优先搜索算法可以产生目标图的相应拓扑排序表,采用拓扑排序表可以解决很多相关的图论问题,如最大路径问题等等。 根据深度优先遍历的特点我们利用Java集合类的栈Stack先进后出的特点来实现。我用二叉树来进行深度优先搜索。 广度优先遍 ...
分类:
编程语言 时间:
2020-06-07 21:24:16
阅读次数:
77