目录
队列是一种先进先出的数据结构,通常用一个队首元素front指向队首元素的前一个位置,而使用队尾指针来指向队尾元素。
- 清空(clear):
/*使用数组来实现队列是,初始状态为front=-1,rear=-1*/ void clear(){ front=rear=-1; } - 获得队列中的元素个数(size):
/*rear-front是队列内元素的个数*/ int size(){ return rear-front; } - 判空(empty):
/*若rear等于front,则队列为空*/ bool empty(){ if(front==rear) return true; else return false; } - 入队(push):
/*入队,由于指针rear指向队尾元素,因此把元素入队时,需要先把rear+1,在存放到rear指向的位置*/ void push(int x){ q[++rear]=x; } - 出队(pop):
/*直接把队首指针加1来实现出队效果*/ void pop(){ front++; } - 取队首元素(get_front):
/*由于队首指针front指向的队首元素的前一个元素,因此front+1才是队首元素的位置*/ int get_front(){ return q[front+1]; } - 取队尾元素(get_rear):
/*由于队尾指针rear指向的队尾元素,因此直接访问rear是队尾元素的位置*/ int get_rear(){ return q[rear]; }
STL容器中的queue和priority queue的实现方式:
5万+

被折叠的 条评论
为什么被折叠?



