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

一、压栈操作模拟

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

猜你喜欢

转载自www.cnblogs.com/jiyongjia/p/9826029.html