hi

im trying to write some code for a priority queue using an unsorted array..it should be easy but i have a few concerns about it..

say if i have a graph of something like this:

node 0, priority 100

node 1, priority 50

node 2, priority 200

node 3, priority 250

then the array would look something like

pq[0] = 100

pq[1] = 50

pq[2] = 200

pq[3] = 250

so far so good..the index of the array corresponds to the node number and the value corresponds to the priority...

but what if i was to do a delete min operation? the array would look something like

pq[0] = 100

pq[1] = 200

pq [2] = 250

i deleted the element with lowest priority and shifted everything down to fit the array..but the problem is now pq[1] = 200, which would mean that the node number 1 has a priority of 200 however this is not the case? node 1 just got deleted, the node with priotiy 200 is node 2...

i was thinking maybe implement it using 2 arrays, 1 for storing the node numbers and the other for storing the priorities..but then again that might be doing too much

any help would be appreciated. thanks.