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

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
主站蜘蛛池模板: 凭祥市| 平顺县| 峨眉山市| 山丹县| 武宣县| 米林县| 太仆寺旗| 耒阳市| 滦平县| 莒南县| 汕头市| 西乡县| 六枝特区| 牟定县| 新河县| 阜平县| 耿马| SHOW| SHOW| 拉萨市| 腾冲县| 古蔺县| 靖西县| 远安县| 中牟县| 海门市| 汾西县| 临潭县| 阿勒泰市| 泸西县| 临沂市| 曲麻莱县| 光泽县| 山西省| 阿坝县| 洞口县| 时尚| 民县| 福海县| 绍兴市| 比如县|