7 class Node(object):
8 def __init__(self,data):
9 self.data = data
10 self.next = None
11
12 class linkqueue(object):
13 def __init__(self):
14 self.front = None
15 self.rear = None
16 self.count = 0
17 def isEmpty(self):
18 return self.count == 0
19 def clear(self):
20 self.front = self.rear = None
21 self.count = 0
22 def insert(self,item):
23 node = Node(item)
24 if self.isEmpty():
25 self.front = self.rear = node
26 self.count += 1
27 elif self.count == 1:
28 self.front.next = node
29 self.rear = node
30 self.count += 1
31 else:
32 self.rear.next = node
33 self.rear = node
34 self.count += 1
35 def length(self):
36 return self.count
37 def delitem(self):
38 if self.isEmpty():
39 raise Exception("队列为空")
40 elif self.count == 1:
41 self.rear.next = None
42 self.front = self.rear
43 self.rear = None
44 self.count -= 1
45 else:
46 tempnode = self.front
47 self.front = tempnode.next
48 self.count -= 1
49 def display(self):
50 if self.front == None:
51 print("None")
52 tempnode = self.front
53 while tempnode is not None:
54 print(tempnode.data,end = " ")
55 tempnode = tempnode.next
56 print()
57
58 if __name__ == "__main__":
59 linkqueue1 = linkqueue()
60 print(linkqueue1.length())
61 linkqueue1.insert(1)
62 linkqueue1.insert(2)
63 linkqueue1.insert(3)
64 linkqueue1.insert(4)
65 linkqueue1.insert(5)
66 linkqueue1.insert(6)
67 print(linkqueue1.length())
68 linkqueue1.display()
69 linkqueue1.delitem()
70 linkqueue1.display()
71 linkqueue1.clear()
72 linkqueue1.display()
73
74

运行结果

0
6

1 2 3 4 5 6  
2 3 4 5 6  
None

该代码中没有关于队列的查找和元素值修改的方法,大家可以参照代码进行添加,代码逻辑也相对来说较为简单

python-链队列的实现的更多相关文章

  1. javascript实现数据结构与算法系列:队列 -- 链队列和循环队列实现及示例

    1 队列的基本概念 队列(Queue):也是运算受限的线性表.是一种先进先出(First In First Out ,简称FIFO)的线性表.只允许在表的一端进行插入,而在另一端进行删除. 队首(fr ...

  2. python消息队列snakemq使用总结

    Python 消息队列snakemq总结 最近学习消息总线zeromq,在网上搜了python实现的消息总线模块,意外发现有个消息队列snakemq,于是拿来研究一下,感觉还是很不错的,入手简单使用也 ...

  3. java与数据结构(8)---java实现链队列

    链队列 实际上就是单链表,只是规定了删除在队头进行,添加在队尾进行. 链队列代码结构 package list.queue; public interface Queuable<T>; p ...

  4. python RabbitMQ队列使用(入门篇)

    ---恢复内容开始--- python RabbitMQ队列使用 关于python的queue介绍 关于python的队列,内置的有两种,一种是线程queue,另一种是进程queue,但是这两种que ...

  5. 链队列之C++实现

    链队列时建立在单链表的基础之上的.由于是动态分配节点内存,所以无需判满. 链队列的形式如下: 1.队列空 2.队列存在数据 下面介绍下C++实现的链队列,VC6下调试通过. 1.文件组织 2.lq.h ...

  6. C语言实现链队列的初始化&进队&出队

    /*链表实现队列的一系列操作*/ #include<stdio.h> #include<stdlib.h> #define OK 1 #define ERROR 0 typed ...

  7. c/c++链队列

    链队列 链队列就是简化了的单链表 nodequeue.h #ifndef __NODEQUEUE__ #define __NODEQUEUE__ #include <stdio.h> #i ...

  8. Python之队列Queue

    今天我们来了解一下python的队列(Queue) queue is especiall useful in threaded programming when information must be ...

  9. python链家网高并发异步爬虫asyncio+aiohttp+aiomysql异步存入数据

    python链家网二手房异步IO爬虫,使用asyncio.aiohttp和aiomysql 很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests.urllib这些同步的库进行单线 ...

  10. 【Java】 大话数据结构(7) 循环队列和链队列

    本文根据<大话数据结构>一书,实现了Java版的循环队列.链队列. 队列:只允许在一端进行插入操作,而在另一端进行删除操作的线性表. 1.循环队列 队列的顺序储存结构:用数组存储队列,引入 ...

随机推荐

  1. Leetcode(22)-括号生成

    给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结果为: [ "((()))", "(()())& ...

  2. 全方位构造免杀 webshell 小结[一]

    转载自https://klionsec.github.io/2017/10/11/bypasswaf-for-webshell/   全方位构造免杀 webshell 小结[一]   前言:    本 ...

  3. 7816协议时序和采用UART模拟7816时序与智能卡APDU指令协议

    7816时序 7816时一个比较早的老通讯时序了,最近项目上需要用UART模拟所以,简单学习时序. 时序比较简单,熟悉UART的一眼看着就像是串口的时序,只是他没有停止位,取而代之的就是保护时间gur ...

  4. Inkscape tricks

    Draw straight lines: click pencil button -> click once on your canvas(starting point) -> click ...

  5. element-ui & babel-plugin-component config bug

    element-ui & babel-plugin-component config bug vue-cli bad babel.config.js module.exports = { pr ...

  6. 抓手 & 技术管理

    抓手 & 技术管理 https://zhuanlan.zhihu.com/p/28891618 技术管理的目的 管理就是通过别人拿到结果.而管理的两个着眼点就是:成事.育人. 把事情搞定,把人 ...

  7. Rust learning notes

    Rust learning notes Rust Version 1.42.0 $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs ...

  8. how to change sketch language to chinese

    how to change sketch language to Chinese https://www.sketch.com/support/troubleshooting/chinese-loca ...

  9. HTML5 Server-Sent Events

    HTML5 Server-Sent Events SSE demo https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_sse htt ...

  10. 「NGK每日快讯」12.1日NGK公链第28期官方快讯!