队列的抽象数据类型
同样是线性表,队列也有类似线性表的各种操作,不同之处在于插入数据只能在队尾进行,删除数据只能在队头进行....在顺序队列中,入队和出队的逻辑完全和顺序表的尾插,尾删,头插,头删逻辑一样,但区别在于,选择数组下标为0作队头,那入队就是尾插,出队就是头删.
其操作逻辑和顺序表完全相同,这里就不多赘述了....队列的链式存储结构
队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出,简称链队列....为了操作方便,我们将队头指针指向链队列的首节点,将队尾指针指向尾结点:
空队列时,front和rear都指向NULL....链队列的入队操作和单链表尾插逻辑相同,但在尾插结束后需要移动队尾指针指向新队尾.
链队列的出队操作和单链表头删逻辑相同,但在头删后同样需要移动队头指针指向新队头.