官术网_书友最值得收藏!

A connection between real-life and programmatic queues

Queues are an intuitive concept that can easily be related to our everyday life, such as when you stand in line to board a plane at the airport. In an actual line of people, you will see the following:

  • People typically enter at one end of the line and exit from the other end
  • If person A enters the line before person B, person A will also leave the line before person B (unless person B has more priority)
  • Once everyone has boarded the plane, there will be no one left in the line. In other words, the line will be empty

In computer science, a queue works in a considerably similar way:

  • Elements can be added to the end of the queue; this task is called enqueue.
  • Elements can also be removed from the beginning of the queue; this task is called dequeue.
  • In a First In First Out (FIFO) queue, the elements that are added first will be removed first (hence, the name FIFO). This is contrary to another common data structure in computer science, called stack, in which the last element that is added will be removed first. This is known as Last In First Out (LIFO).
  • If all of the elements inside of a queue have been removed, the queue will be empty and there will be no way to remove further elements from the queue. Similarly, if a queue is at the maximum capacity of the number of elements it can hold, there is no way to add any other elements to the queue:

A visualization of the queue data structure
主站蜘蛛池模板: 阳新县| 嘉鱼县| 隆安县| 东明县| 吴旗县| 山东| 阿鲁科尔沁旗| 基隆市| 石河子市| 新源县| 岗巴县| 留坝县| 石城县| 离岛区| 嘉峪关市| 镇沅| 宁蒗| 黔西县| 淮阳县| 高阳县| 宁远县| 蓬安县| 邯郸县| 海口市| 沙田区| 桂阳县| 安顺市| 修武县| 甘德县| 桂平市| 富宁县| 乐昌市| 海南省| 双峰县| 铜梁县| 高陵县| 丰城市| 陵水| 舒兰市| 宜宾市| 区。|