对于循环队列与链队列的比较,可以从两方面来考虑,

    • 从时间上,其实它们的基本操作都是常数时间,即都为O(1)的,
      • 不过循环队列是事先申请好空间,使用期间不释放,
      • 而对于链队列,每次申请和释放结点也会存在一些时间开销,如果入队出队频繁,则两者还是有细微差异。
    • 对于空间上来说,
      • 循环队列必须有一个固定的长度,所以就有了存储元素个数和空间浪费的问题。
      • 而链队列不存在这个问题,尽管它需要一个指针域,会产生一些空间上的开销,但也可以接受。所以在空间上,链队列更加灵活。

    总的来说,在可以确定队列长度最大值的情况下,建议用循环队列,
    如果你无法预估队列的长度时,则用链队列。