1.队列
先进先出:入队enqueue(),出队dequeue()
同栈一样,是一种操作受限的线性表数据结构
数组实现队列:顺序队列
链表实现队列:链式队列
//python顺序队列
class queue:
def __init__(self):
self.queue = []
def enqueue(self, item):
self.queue.append(item)
def dequeue(self):
return self.queue.pop(0)
def is_empty(self):
return len(self.queue)==0
def size(self):
return len(self.queue)
顺序队列会存在出队时head–而一直往右的情况,此时队列前部分有大量的空余,此时要进行数据搬移。
可以在入队发现tai移动到最右边时进行整体的数据搬移
若用其他如java语言实现,要规定数组的大小,
判断队列满了的条件为tail == n;
判断队列空的条件为head==tail
// java用数组实现的队列
public class ArrayQueue {
// 数组ÿ