Maintain min-Heap together with another vector

Hello everyone,

I have a 2D matrix of 2 rows and n columns.
The first row represents a distance (type : Float > 0).
The second row represents an ID (type : Integer > 0) corresponding to the distance above.

First question : it is possible to maintain a min-heap from DataStructures.jl with the first row (distances), while sorting the bottom row accordingly ; I basically need a sortperm function for min-Heaps. Does it exist ? I haven’t found it in the doc Heaps · DataStructures.jl.

Second question : I also need to be able to delete an entry in my heap based on the ID, while of course keeping the min-heap property. Any idea on how to do so ?

Example :
Initially, we could have such a matrix (distance in top row, ID in bottom row)
5 | 1 | 3
1 | 2 | 3

Sorting with respect to row1 could lead to :
1 | 5 | 3
2 | 1 | 3

Then deleting the entry with ID “2” would lead to : (note how min-heap property is eventually satisfied)
3 | 5
3 | 1

Hope this is clear !
Does anyone have any suggestions ? maybe I’m thinking the wrong way, there might be a workaround
Thank you very much in advance.