版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
队列:顺序队列,链队列。
定义:
顺序队列:数组 + 指针(其实是整型数据,两个:队首front,队尾rear)
链队列:数据域 + 指针域 (两个:队首,队尾)
队首指针:赋值在指针的下一个位置
队尾指针:指针指哪里,赋值在哪里。
顺序队列
循环队列为例
循环队列:(队首即队尾,队尾即队首)
要素:4个
状态:
队空:队列.队首指针 == 队列.队尾指针。
空队列:两指针重合。重合:两个指针指向同一处。
队满:(队首+1)% 容量 == 队尾
队满:两指针紧挨着,隔壁邻居。
进队:移动队尾指针,赋值。指针在哪里,赋值在哪里。
出队:移动队首指针,赋值。
初始化队列:让队列为空,并且都指向 0。
判断队空:判断两个指针是否重合。
链队列
想链表的性质
队空:链队->rear == NULL 或者 链队->front == NULL
队满:不存在的
进队:将新结点链接到队尾,rear 指向它
出队: