呆萌数据结构 | 04 队列
原文来自 萌一小栈 生活中的一些排队行为,基本上都是队列的形式。这篇博客涉及的概念有 队列 , 循环队列 , 优先队列 , 双端队列 。 很多编程语言已经内置了队列结构,在实际项目中可以直接使用。这篇文章里的代码实现,主要用做原理理解。 拿超市买单为例,买完东西,一般会找一个结账台排队,等待结账。如果前面已经有人在排队,那你肯定是排在当前队伍的最后面,如果再来人,肯定是排在你的后面,依次往后排。每当有一个顾客买完单,那后面的顾客就会往前走,直到整个买单队伍没有人排队。这就是队列结构。是不是很简单~ 队列 队列,是一种先进先出的结构(First in first out),也就是在队尾进行插入操作,在队头进行删除操作。队列可以用链表来实现,也可以用数组来实现,要根据实际需求来决定。 队列的操作有 入列 、 出列 、 判断是否为空 、 判断是否已满 等操作。下面将用C#来实现列表结构,看代码 public class Node { public int data; public Node next; public Node(int data) { this.data = data; } } public class LinkedListQueue { public Node head; public Node tail; // 插入一个元素 public void Enqueue