码迷,mamicode.com
首页 > 编程语言 > 详细

【12】python 栈型数据结构模拟、队列型数据结构模拟

时间:2018-10-21 18:28:02      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:put   ftp   date   temp   code   collect   style   技术   NPU   

技术分享图片

一、压栈操作模拟

#__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‘])
‘‘‘

 

 

技术分享图片

 

【12】python 栈型数据结构模拟、队列型数据结构模拟

标签:put   ftp   date   temp   code   collect   style   技术   NPU   

原文地址:https://www.cnblogs.com/jiyongjia/p/9826029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!