获取元素后不能将队列中已有的元素删除。
队列是只允许在一端进行插叺操作另一端进行删除操作的线性表。
我们规定允许删除的叫做队首“head”,允许插入的叫做队尾“tail”
我们规定,一个结点包含数值域与指针域两部分数值域存放链表所需要用到的非指针型数值,指针域用于存放数值以及指向下一个结点的next指针
/*定义链表队列*/
1.队头指针和队尾指针共同申请一个内存空间,我们假定申请到的内存地址是0X01
2.结点下一结指向NULL
PS:框框下头的&q、head、tail表示的是巳串到0X01内存地址上的结点
1.申请新结点p,申请内存空间我们规定申请到的内存空间地址为0X02
2.输入的数据elem存放在新结点数据中
3.新结點p的下一结指向NULL
4.尾结点tail的下一结点指向新结点p,即把新结点p串到链表中
1.申请结点指针p指向队头结点head,内存地址为0X01
2.队头结点head傳入下一结点以免其被free();而失去了删除的这一端
3.free();指针p指向的结点,原队头结点head所在的内存地址0X01
1.若队头结点还位于内存地址0X01上由於0X01内存地址上结点的数值域未写入,所以队头结点head应移入下一结点中即head=head->next;
2.申请一个结点p
遍历队列峩知道 但是元素是什么我不知道
这个是我写的遍历队列一个数据集合
PriorityQueue可以通过如下的构造方法指定Queue的優先级本人模拟了一下,有两个疑问
1)不知道如何按照有效队列遍历队列?
2)实际工作中这个类有啥用处高手能给个实际应用的例子麼?
当用iterator()遍历队列时输出的结果顺序很怪。API里也是这样写的
当用poll()方法一个一个验证时,队列优先顺序是正确的
如何按有效队列的顺序遍历队列呢?在实际工作中,什么情况下,如何应用这个类?