数据结构

2017-09-16  本文已影响7人  MRNAN_

数据存储有几种

循环队列的讲解:
1. 静态队列为什么必须是循环队列。
2. 循环队列需要几个参数来确定。【两个参数:front(头) rear(尾)】
3. 循环对列各个参数的含义。【两个参数不同场合有不同含义】
    (1)队列初始化:
      front和rear的值都是零。
    (2)队列非空:
      front代表队列的第一个元素。
      rear代表队列的最后一个有效元素的下一个结点。
    (3)队列为空:
      front和rear的值相等,但不一定为零。
4. 循环队列入队伪算法讲解。
    入栈伪算法:
        入栈的时候,尾部需要加一位。直接 rear + 1 这样的写法是错误的,正确的写法应该是 rear = (rear +  1) % 数组的长度。
5. 循环队列出队为算法讲解。
     出栈的伪算法:
        出栈的时候,是从头部先出,所以front 会移到下一个位置。写法类似于入栈。直接 front + 1 是错误的,正确的写法应该是: front = (front + 1) % 数组的长度。
6. 如何判断循环队列是否为空。
   如果 front 与 rear的值相等,则循环对列 为空。
7. 如何判断循环队列是否已满。
    两种方式:
      1.多增加一种表标识参数。
     2. 少用一种元素,判断front 和 rear 是否相邻【通常使用这种方式】。伪算法表示:if((rear + 1) % 数组长度  == front)
{
    已满。
}

大话数据结构里面在讲循环队列的时候的图示还是 顺序存储的图,个人感觉还是郝斌老师的图比较形象,直接以圆形的方式来演示。
上一篇 下一篇

猜你喜欢

热点阅读