Najlepiej użyc kontenera "map" ze standardowej biblioteki STL. :) Gwarantuje brak duplikatów, jest oparty na drzewie binarnym, jest bardzo szybki, nie posiada błędów w przeciwieństwie do własnej implementacji, która potencjalnie może być zła. Kolejna rzecz, to po co wyważać otwarte drzwi ;)