文档章节

python数据结构之栈、队列的实现

yehun
 yehun
发布于 2017/03/30 12:54
字数 262
阅读 16
收藏 1

python数据结构之栈、队列的实现
 
这个在官网中list支持,有实现
补充一下栈,队列的特性:
1. 栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIFO)的特征
2. 队列(queue)是一种具有先进先出特征的线性数据结构,元素的增加只能在一端进行,元素的删除只能在另一端进行。能够增加元素的队列一端称为队尾,可以删除元素的队列一端则称为队首。

地址在 http://docs.python.org/2/tutorial/datastructures.html#more-on-lists ,下面的官方的代码

 

>>> stack = [1,2,3,4]
>>> stack.append(5)
>>> stack.append(6)
>>> stack
[1, 2, 3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[1, 2, 3, 4]
>>> stack.pop()
4
>>> stack
[1, 2, 3]

队列

>>> from collections import deque
>>> queue = deque([1,2,3,4])
>>> queue.append(5)
>>> queue.append(6)
>>> queue
deque([1, 2, 3, 4, 5, 6])
# 先进后出
>>> queue.popleft()
1
>>> queue.popleft()
2
>>> queue
deque([3, 4, 5, 6])
# 先进先出
>>> queue.pop()
6
>>> queue
deque([3, 4, 5])

 

© 著作权归作者所有

yehun
粉丝 8
博文 218
码字总数 137225
作品 0
长宁
高级程序员
私信 提问
常见数据结构的 Python 实现(建议收藏)

数据结构作为计算机基础的必修内容,也是很多大型互联网企业面试的必考题。可想而知,它在计算机领域的重要性。 然而很多计算机专业的同学,都仅仅是了解数据结构的相关理论,却无法用代码实...

实验楼
08/19
0
0
Python数据结构总结篇

数据结构篇主要是阅读[Problem Solving with Python]( http://interactivepython.org/courselib/static/pythonds/index.html)时写下的阅读记录,当然,也结合了部分[算法导论]( http://en.wi...

宅男潇涧
2014/07/06
623
0
数据结构-堆栈和队列最简单的实现(Python实现)

OK,上篇博客我们介绍了双向链表以及代码实现,这篇文章我们来学习堆栈和队列。 队、栈和链表一样,在数据结构中非常基础一种数据结构,同样他们也有各种各样、五花八门的变形和实现方式。但...

浩然haoran
07/16
0
0
每周一个 Python 模块 | Queue

专栏地址:每周一个 Python 模块 Queue 是 Python 标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传...

yongxinz
2018/12/14
0
0
数组和链表结构(python)_1

本文的最新版本位于:https://github.com/iwhales/algorithmsnotes 转载请注明出处:https://www.jianshu.com/u/5e6f798c903a 参考:《数据结构(Python 语言描述)》- 第4章 数组和链表 在编...

曾翔翔
2018/07/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

uni app 零基础小白到项目实战

$emit 子组件传给父组件$ref 父组件操作子组件 公用模板 uni-app全局变量的几种实现方法 const websiteUrl = 'http'const now = Date.now || function() { return new Date().getTime......

达达前端小酒馆
31分钟前
7
0
Tomcat是如何实现异步Servlet的

前言 通过我之前的Tomcat系列文章,相信看我博客的同学对Tomcat应该有一个比较清晰的了解了,在前几篇博客我们讨论了Tomcat在SpringBoot框架中是如何启动的,讨论了Tomcat的内部组件是如何设...

木木匠
55分钟前
29
0
mysql中间件分享(Mysql-prxoy,Atlas,DBProxy,Amoeba,cobar,TDDL)

hello 各位小伙伴大家好,我是小栈君,这期我们分享关于mysql中间件的研究,也就是数据层的读写分离和负载均衡,希望能够在实际的应用中能够帮助到各位小伙伴。 下期我们将继续分享go语言的系...

IT干货栈
今天
10
0
OSChina 周一乱弹 —— 人生,还真是到处是意外

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @这次装个文艺青年吧 :#今日歌曲推荐# 分享lil peep的单曲《High School》 《High School》- lil peep 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
943
13
Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部