python实现队列结构

# -*- coding:utf-8 -*-
# __author__ :kusy
# __content__:文件说明
# __date__:2018/10/8 13:49


class MyQueue(object):
    def __init__(self):
        self.queue_list = []
        self.count = 0

    # 创建一个队列
    def create_queue(self):
        return self.queue_list

    # 入队
    def add(self, value):
        self.queue_list.insert(0, value)
        self.count += 1

    # 返回队首元素值
    def front(self):
        if self.count:
            return self.queue_list[-1]

    # 出队
    def pop(self):
        self.queue_list.pop()
        self.count -= 1

    # 返回队列是否为空
    def is_empty(self):
        return self.count == 0

    # 打印队列内容
    def print_all(self):
        print(self.queue_list)


if __name__ == '__main__':
    mq = MyQueue()
    mq.create_queue()
    mq.add(1)
    mq.add(2)
    mq.add(3)
    print('队列元素(正向排队):')
    mq.print_all()
    print('队首元素:', mq.front())
    mq.pop()
    print('出队后元素:')
    mq.print_all()
    print('队列是否为空:', '' if mq.is_empty() else '')
    print('---继续出队')
    mq.pop()
    print('---继续出队')
    mq.pop()
    print('队列是否为空:', '' if mq.is_empty() else '')

 

 

运行结果:

C:\Users\suneee\AppData\Local\Programs\Python\Python36\python.exe E:/wangjz/PyWorkSpace/LearnPython/PY0929/queue.py

   队列元素(正向排队):
   [3, 2, 1]
   队首元素: 1
   出队后元素:
   [3, 2]
   队列是否为空: 否
   ---继续出队
   ---继续出队
   队列是否为空: 是

Process finished with exit code 0

 

posted on 2018-10-08 14:11  一個未来  阅读(757)  评论(2编辑  收藏  举报

导航