数据结构之队列(Python 版)

数据结构之队列(Python 版)

队列的特点:先进先出(FIFO)

  • 使用链表技术实现

    使用单链表技术,在表首尾两端分别加入指针,就很容易实现队列类。

  • 使用顺序表list实现
 # 队列类的实现

 class SQueue() :

     def __init__(slef,init_len = 8) :
self._len = init_len # 存储区长度
self._elems = [0] * init_le # 元素存储
self._head = 0 # 表头元素下标
self._num = 0 # 元素个数 def is_empty(self) :
return self._num == 0 def peek(self) : # 查看首元素
if self._num == 0 :
raise QueueUnderflow
return self._elems[self._head] def dequeue(self) : # 出队
if self._num == 0 :
raise QueueUnderflow
e = self._elems[self._head]
self._head = (self._head + 1) % self._len
self._num -= 1
return e def enquene(self,e) : # 入队
if self._num == self._len :
self.__extend()
slef._elems[(self._head + self._num) % self._len] = e
self._num += 1 def __extenc() : # 扩充元素表 个数*2
old_len = self._len
self._len *= 2
new_elems = [0] * self._len
for i in range[old_len] :
new_elems[i] = self._elems[(self._head + i) % old_len]
self._elems ,self._head = new_elems , 0
上一篇:Linux中shell命令的用法和技巧


下一篇:MVC4 中Remote的使用