python数据结构学习笔记-2016-11-01-01-栈ADT及其实现

本文是关于Python数据结构的学习笔记,重点介绍了栈(Stack)的抽象数据类型(ADT)及其两种实现方式——顺序栈和链式栈。栈遵循后进先出(LIFO)原则,主要操作包括创建、判断空栈、获取长度、弹出元素、查看栈顶元素和压入元素。栈的实现可以使用列表或链表,列表实现称为顺序栈,链表实现则为链式栈。
摘要由CSDN通过智能技术生成

       7.1 栈ADT

       栈(stack)是只允许在一端进行插入或删除元素操作的储存容器,其特点是后进先出(last-in first-out, LIFO)。

       其允许插入删除的一端称为栈顶(top),另一端称为栈底(bottom)。没有任何元素时称为空栈。

       栈ADT应包含的属性:

  • Stack():创建一个空栈;
  • isEmpty():判断栈是否为空;
  • length():返回栈的元素个数;
  • pop():弹出元素,栈的元素个数减一,若为空栈,则引发异常;
  • peek():获取栈顶元素,不改变栈的元素个数;
  • push(item):将元素item压入栈中,作为新的栈顶,栈的元素个数加一。
#-*-coding: utf-8-*-

# 栈基本操作

PROMPT = "Enter an int value (<0 to end): "
myStack() = Stack()
value = int(raw_input(PROMPT))
while value >= 0:
    myStack.push(value)
    value = int(raw_input(PROMPT))

while not myStack.isEmpty():
    value = myStack.pop()
    print value
       

       7.2 栈的实现

       栈有两种实现方式,一种是使用python列表(数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值