Using binary search tree and doubly linked list to create a priority queue