2014-04-23 57 views
0

我有这个队列下面是FIFO。基于变量重新排列Fifo队列

队列打印机[1];

我有以下信息存储在队列的每个前端。

int PID; 
string Filename; 
int Memstart; 
char rw; 
int Filelength; 
int Cylinder; 

如果我加入到这个队列中它只是弹出它在每一个时间和不会是有序的。

是否存在破解或基于圆柱体重新排列此队列的方法?

我想要它,这样的队列是基于圆柱体的顺序。

因此,举例来说,如果我添加到队列

缸1 3 6 3的顺序,它会出来的顺序1 3 3 6

有没有办法重新安排一个FIFO基于某个变量的队列?

谢谢!

+0

而不仅仅是打印,我想重新排列这个队列。也许有办法将它打印到数组中?这将如何工作? – user3398034

回答

0

好FIFO队列被定义先入先出,所以这不会给你想要的东西,你可能想看看像一个优先级队列(也称为最小堆)

http://en.wikipedia.org/wiki/Heap_(data_structure)

+0

你可以根据班级中的变量来安排它吗? – user3398034

+0

是的,你可以定义什么是你想用于订单的'钥匙'。看看这个http://stackoverflow.com/questions/2786398/is-there-an-easy-way-to-make-a-min-heap-in-c – Jaime

+0

有没有办法模仿创建这样的多个队列但优先队列? 这是我有,但我想现在使用优先级队列。 '队列 Disks [DiskDevices];' 我试过这个,但它不起作用。 'priority_queue DisksTest [DiskDevices];' 它不会编译?我究竟做错了什么? – user3398034