循环队列操作演示:入队、出队及状态变化
本文以一个初始为空的循环队列Q[0,7]为例,详细演示了入队、出队操作对队列头尾指针和队列元素的影响,并解释了队列满时无法入队的原因。
初始状态:front=rear=0
①. d, e, b, g, h入队:
- 元素d入队:Q[rear] = 'd',rear = 1
- 元素e入队:Q[rear] = 'e',rear = 2
- 元素b入队:Q[rear] = 'b',rear = 3
- 元素g入队:Q[rear] = 'g',rear = 4
- 元素h入队:Q[rear] = 'h',rear = 5
队列状态变化:front=0, rear=5,队列元素为:'d', 'e', 'b', 'g', 'h'
②. d, e出队:
- 元素d出队:front = 1
- 元素e出队:front = 2
队列状态变化:front=2, rear=5,队列元素为:'b', 'g', 'h'
③. i, j, k, l, m入队:
- 元素i入队:Q[rear] = 'i',rear = 6
- 元素j入队:Q[rear] = 'j',rear = 7
- 元素k入队:无法入队,队列已满。理由是rear + 1等于front,队列已满无法继续入队。
队列状态变化:front=2, rear=7,队列元素为:'b', 'g', 'h', 'i', 'j'
④. b出队:
- 元素b出队:front = 3
队列状态变化:front=3, rear=7,队列元素为:'g', 'h', 'i', 'j'
⑤. n, o, p, q, r入队:
- 元素n入队:Q[rear] = 'n',rear = 0(循环队列的特性,rear回到队列的起始位置)
- 元素o入队:Q[rear] = 'o',rear = 1
- 元素p入队:Q[rear] = 'p',rear = 2
- 元素q入队:Q[rear] = 'q',rear = 3
- 元素r入队:Q[rear] = 'r',rear = 4
队列状态变化:front=3, rear=4,队列元素为:'g', 'h', 'i', 'j', 'n', 'o', 'p', 'q', 'r'
最终队列状态:front=3, rear=4,队列元素为:'g', 'h', 'i', 'j', 'n', 'o', 'p', 'q', 'r'
原文地址: https://www.cveoy.top/t/topic/kBZ 著作权归作者所有。请勿转载和采集!