文章目录
一、前言
如果是研究算法的小伙伴,可能会经常用到栈、队列、单链表、双链表等数据结构,而Python语言中本身是没有这些数据结构的,不像C/C++可以直接调用STL库。在这里笔者将会通过几篇博客详细介绍在Python中实现上述常用的数据结构,因此本文主要面向初学Python算法和数据结构的小伙伴们。
二、顺序栈的实现
虽然在Python中没有栈这一数据结构,但是Python有更强大的列表list。list其实是Python内嵌数据结构中使用最多的,它功能十分强大。我们通常所说的栈其实指的是顺序栈,这里将通过list来实现顺序栈。主要的实现代码如下:
class Stack:
"""
Sequential Stack implement
"""
def __init__(self):
"""
initialize an empty Stack, __stack means it's a private member
"""
self.__stack = []
def top(self):
"""
get the top element of Stack
:return: if Stack is empty return None, else return the top element
"""
return None if self.isEmpty() else self.__stack[-1]
def push(self, obj):
"""
push an element into Stack
:param obj: object to be pushed
"""
self.__stack.append(obj)
def

最低0.47元/天 解锁文章
1634

被折叠的 条评论
为什么被折叠?



