龙空技术网

Python数据结构:栈和队列的简单实现

小智雅汇 318

前言:

此刻各位老铁们对“python使用栈”可能比较关心,看官们都需要知道一些“python使用栈”的相关文章。那么小编也在网络上搜集了一些关于“python使用栈””的相关知识,希望咱们能喜欢,朋友们快快来了解一下吧!

1 栈

栈做为一种线性数据结构,是一个定义了特殊操作、可以用列表list实现的的数据容器。所谓的特殊操作就是只在list的尾端(不允许在中间位置)进行插入、删除和读取元素的操作。这种特殊操作的定义称为栈的后进先出。

class TestStack:....def __init__(self):........self.stack=[]....def push(self,data):........self.stack.append(data)....def pop(self):........data=self.stack[-1]........del self.stack[-1]........return datastack = TestStack()for i in range(1,5):....stack.push(i*i)....print(i,':',i*i,'进栈;')print(stack.stack)for i in range(1,5):....print(i,':',stack.pop(),'出栈;')print(stack.stack)'''运行后输出:1 : 1 进栈;2 : 4 进栈;3 : 9 进栈;4 : 16 进栈;[1, 4, 9, 16]1 : 16 出栈;2 : 9 出栈;3 : 4 出栈;4 : 1 出栈;[]'''
2 队列

队列做为一种线性数据结构,是一个定义了特殊操作、可以用列表list实现的的数据容器。所谓的特殊操作就是只在list的尾端(不允许在中间位置)进行插入和在list的首端(不允许在中间位置)进行删除和读取元素的操作。这种特殊操作的定义称为队列的先进先出。

class Testqueque:....def __init__(self):........self.queque=[]....def push(self,data):........self.queque.append(data)....def pop(self):........data=self.queque[0]........del self.queque[0]........return dataqueque = Testqueque()for i in range(1,5):....queque.push(i*i)....print(i,':',i*i,'进列;')print(queque.queque)for i in range(1,5):....print(i,':',queque.pop(),'出列;')print(queque.queque)'''运行后输出:1 : 1 进列;2 : 4 进列;3 : 9 进列;4 : 16 进列;[1, 4, 9, 16]1 : 1 出列;2 : 4 出列;3 : 9 出列;4 : 16 出列;[]'''

-End-

标签: #python使用栈 #python 队列和栈 #栈和队列实现 #栈和队列的实现 #栈和队列的实现及应用