栈与队列的list实现

list函数用法总结

  • append()
    把新元素加到list的末尾
  • insert(index, item)
    item添加到位于索引号index的位置
  • pop()
    删除掉list的最后一个元素,并打印这个元素
  • pop(index)
    删除掉位于索引号index位置的元素并打印这个元素
    Note:list为有序集合,所包含的元素并不要求必须是同一种数据类型

栈(stack)具有后入先出(Last In First Out)特点。

#-*-coding=utf-8-*-
#基于list的栈实现
class stack:
    def __init__(self):
        self.items = []
    def push(self,item): #添加元素
        return self.items.append(item)
    def is_empty(self): 
        return len(self.items)==0
    def pop(self): #删除栈首元素并返回该元素
        if self.is_empty():
            raise StackUnderflow('in pop')
        else:
            print self.items.pop()
    def peek(self): #查看栈首元素
        if self.is_empty():
            print "Empty Stack"
        else:
            return self.items[len(self.items)-1]
    def get_size(self): #获取栈的大小
        return len(self.items)
    def clear(self): #清空栈
        self.items = []
#创建栈对象
s = stack()
s.push('ab')
print s.get_size()
s.clear()
print s.get_size()

队列

队列(queue)具有先进先出(First In First Out)特点。

#-*-coding=utf-8-*-
#基于list的队列实现
class queue:
    def __init__(self):
        self.items = []
    def enqueue(self,item): #在list首插入元素
        return self.items.insert(0, item)
    def is_empty(self):
        return len(self.items)==0
    def dequeue(self): #在list尾删除元素并打印该元素
        if self.is_empty():
            raise queueUnderflowError('in dequeue')
        else:
            print self.items.pop()
    def get_size(self): #获取队列的大小
        return len(self.items)
    def get_queue(self): #获取队列的现有元素
        print self.items
#创建队列对象
q = queue()
q.enqueue(1)
q.enqueue(2)
print q.get_size()
q.get_queue()
q.enqueue(3)
q.get_queue()
q.dequeue()
q.get_queue()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • //Clojure入门教程: Clojure – Functional Programming for the J...
    葡萄喃喃呓语阅读 3,854评论 0 7
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,554评论 0 3
  • 今天是个好日子,一早看到了11月份的促销,在被窝里就转发给了诸位会员,包括一位准会员,跟她聊了聊,本来...
    墨儿妈阅读 189评论 0 0
  • 小山子: 当 你发现 我是一个逗比的时候,我相信 你已经爱上我了…… 今天是一周年,觉得时间过得好快。好像 我吻你...
    朱事事阅读 213评论 0 0