python实现栈和队列

基本概念

1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIFO)的特征

2.队列(queue)是一种具有先进先出特征的线性数据结构,元素的增加只能在一端进行,元素的删除只能在另一端进行。能够增加元素的队列一端称为队尾,可以删除元素的队列一端则称为队首。

实现

Stack的实现

```

class stack():

def __init__(self):

self.stack = []

def empty(self):

return self.stack==[]

def push(self,data):

self.stack.append(data)

def pop(self):

if self.empty():

return None;

else:

return self.stack.pop(-1)

def top(self):

if self.empty():

return None

else:

return self.stack[-1]

def length(self):

return len(self.stack)

```

队列的实现

```

class queue():

def __init__(self):

self.queue = []

def empty(self):

return self.queue == []

def enqueue(self,data):

self.queue.append(data)

def dequeue(self):

if self.empty():

return None

else:

return self.queue.pop(0)

def head(self):

if self.empty():

return None

else:

return self.queue[0]

def length(self):

return len(self.queue)

```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,349评论 0 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,324评论 19 139
  • PYTHON-进阶-ITERTOOLS模块小结转自wklken:http://wklken.me/posts/20...
    C_Y_阅读 4,700评论 0 2
  • 偶然发现bilibili上有《房间》,就顺手点开看了,好歹女主也是得了影后的。之前被别人剧透过,以为这会是一部比较...
    焦糖爆米花阅读 3,754评论 0 0
  • 终于圆了养猫的想法,但是我究竟能坚持多久? 奇奇跟我不太熟悉,也不亲昵,好吧,你才认识我两天,我怎么能有那么多的要...
    薄荷妹阅读 1,846评论 0 0