An acquaintance has asked me for advice regarding a book on Data Structures - preferably using C++. However, my data structure books date from the 1970's/1980's and largely use Pascal!

Looking on Amazon, there's a wide selection with some prices over 100 for one book! Would some guru recommend a modern Data Structures book that covers not only theory but also in-depth implementation detail (preferably in C++) - and in particular trees, priority queues and graphs (as well as the basic stack, queue, lists etc). Or conversely, recommend which book(s) not to buy/consider.

Thanks for any advice.