Priority queues may to implemented as linked lists kept in key order, or linked lists kept unordered compare the cost for the implementation of the operation of Inserting a new key Changing a key value Deleting the maximum Key We\'ve implemented a FIFO queue With the usual structures and algorithms. Now we add reverse links to each node. Does the Order of queuing or dequeuing change? Solution 1)Queue is a First In First out data structure and one of the way to implement is linked list with order and unorder. So, lets first talks aboit the order liked lists: For example linked list is Increase order that highest element is at first and least element is at last. and deletion of elements takes place at last and inserting of elements is taking at first we can think in reverse also. To insert an element we need to travrse all the list to the required osition to insert the element , If N elements are in the list then for AVERAGE and Worst time cases takes O(N) time and for Deletion also takes O(1) time whcich is constant. and in the case of changing any elements it is same as the inserting element becase in first step element needs to be found and in second step value neeeds to be changed. IN UNORDER list case The INSERTION and DELETION takes O(1) time only. and for changeing it is O(N) in average and worst time complexities. 2)No it depends on the way we does those operations. I mean that If to wish to do insertion at last and deletion at first and vice-verse that upto you to code. but if links are changed all the meaning of your first code also changes. I think you got my point..