12python 栈型数据结构模拟队列型数据结构模拟
Posted 北鼻coder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12python 栈型数据结构模拟队列型数据结构模拟相关的知识,希望对你有一定的参考价值。
一、压栈操作模拟
#__author:"吉*佳" #date: 2018/10/21 0021 #function:栈 # 栈:即是先进后出的一种数据结构 # (1)模拟压栈操作 stack=[] flag=True while flag: temp = input("请输入压栈元素[输入0代表退出]:") if temp!=str(0): stack.append(temp) else: print(\'压栈结束,栈内元素为:\', stack) # 借助flag退出while循环 flag=False \'\'\' 输出操作: 请输入压栈元素[输入0代表退出]:1 请输入压栈元素[输入0代表退出]:2 请输入压栈元素[输入0代表退出]:3 请输入压栈元素[输入0代表退出]:4 请输入压栈元素[输入0代表退出]:5 请输入压栈元素[输入0代表退出]:0 压栈结束,栈内元素为: [\'1\', \'2\', \'3\', \'4\', \'5\'] \'\'\'
二、出栈模拟
#__author:"吉勇佳" #date: 2018/10/21 0021 #function:栈 # 栈:即是先进后出的一种数据结构 # (1)模拟压栈操作 stack=[] flag=True while flag: temp = input("请输入压栈元素[输入0代表退出]:") if temp!=str(0): stack.append(temp) else: print(\'压栈结束,栈内元素为:\', stack) # 借助flag退出while循环 flag=False \'\'\' 输出操作: 请输入压栈元素[输入0代表退出]:1 请输入压栈元素[输入0代表退出]:2 请输入压栈元素[输入0代表退出]:3 请输入压栈元素[输入0代表退出]:4 请输入压栈元素[输入0代表退出]:5 请输入压栈元素[输入0代表退出]:0 压栈结束,栈内元素为: [\'1\', \'2\', \'3\', \'4\', \'5\'] \'\'\' print("************************分隔符*******************") tt=stack.pop() print("出栈元素",tt) print("栈内元素信息:",stack) tt=stack.pop() print("出栈元素",tt) print("栈内元素信息:",stack) tt=stack.pop() print("出栈元素",tt) print("栈内元素信息:",stack) \'\'\' 输出 请输入压栈元素[输入0代表退出]:1 请输入压栈元素[输入0代表退出]:2 请输入压栈元素[输入0代表退出]:3 请输入压栈元素[输入0代表退出]:4 请输入压栈元素[输入0代表退出]:5 请输入压栈元素[输入0代表退出]:0 压栈结束,栈内元素为: [\'1\', \'2\', \'3\', \'4\', \'5\'] ************************分隔符******************* 出栈元素 5 栈内元素信息: [\'1\', \'2\', \'3\', \'4\'] 出栈元素 4 栈内元素信息: [\'1\', \'2\', \'3\'] 出栈元素 3 栈内元素信息: [\'1\', \'2\'] \'\'\'
入队与出队操作
队列:
即是先进先出的一种数据结构
在python中,可以通过 collections模块。 queue = collections.deque()来实现入队操作 。相应的出队操作可以用queue.leftpop()即可
#__author:"吉*佳" #date: 2018/10/21 0021 #function:队列 import collections # 队列:即是先进先出的一种数据结构 # (1)模拟入队操作。队列有如下模块可以实现 queue = collections.deque() # 入队 flag=True while flag: temp = input("请输入入队元素[输入0代表退出]:") if temp!=str(0): queue.append(temp) else: print(\'入队结束,队内元素为:\', queue) # 借助flag退出while循环 flag=False \'\'\' 输出: 请输入入队元素[输入0代表退出]:1 请输入入队元素[输入0代表退出]:2 请输入入队元素[输入0代表退出]:3 请输入入队元素[输入0代表退出]:4 请输入入队元素[输入0代表退出]:5 请输入入队元素[输入0代表退出]:0 入队结束,队内元素为: deque([\'1\', \'2\', \'3\', \'4\', \'5\']) \'\'\' # 出队模拟 print("************************分隔符*******************") tt=queue.popleft() print("出队元素",tt) print("队内元素信息:",queue) tt=queue.popleft() print("出队元素",tt) print("队内元素信息:",queue) tt=queue.popleft() print("出队元素",tt) print("队内元素信息:",queue) \'\'\' 输出: 请输入入队元素[输入0代表退出]:1 请输入入队元素[输入0代表退出]:2 请输入入队元素[输入0代表退出]:3 请输入入队元素[输入0代表退出]:4 请输入入队元素[输入0代表退出]:5 请输入入队元素[输入0代表退出]:0 入队结束,队内元素为: deque([\'1\', \'2\', \'3\', \'4\', \'5\']) ************************分隔符******************* 出队元素 1 队内元素信息: deque([\'2\', \'3\', \'4\', \'5\']) 出队元素 2 队内元素信息: deque([\'3\', \'4\', \'5\']) 出队元素 3 队内元素信息: deque([\'4\', \'5\']) \'\'\'
以上是关于12python 栈型数据结构模拟队列型数据结构模拟的主要内容,如果未能解决你的问题,请参考以下文章