前提:队列中的结点从队尾插入,从队头删除;队列中的结点的指向是从队头指向队尾,因为是循环链表,则队尾结点的下一个结点是队头。 如果只设头指针,则出列容易,头指针往后移一个就行;入列则要遍历整个队列,确定队尾后再插入,所以出列是O(1),入列是O(n) 如果只设尾指针,则入列时直接插入,出列只须后移一个结点即可找到队头结点,都是常数级的时间耗费,即都是O(1) 一般来说循环队列不用设头指针,只需一个指向尾结点的指针就行了,确定头和尾都很容易。
用带头循环链表表示队列的问题
最新推荐文章于 2024-05-17 20:57:43 发布