Самое простое решение: используйте вектор, содержащий ваши адресные записи, и выполните цикл по вектору для поиска.
Карта обычно реализуется либо в виде двоичного дерева (для балансировки ищите красные / черные деревья), либо в виде хэш-карты. Оба они не тривиальны: деревья имеют некоторые накладные расходы на организацию, управление памятью и балансировку, хэш-картам нужны хорошие хэш-функции, которые также не являются тривиальными. Но обе структуры забавны, и вы получите глубокое понимание, внедрив одну из них (или лучше обе: -)).
Также рассмотрите возможность сохранить данные в списке векторов и позволить карте содержать индексы для вектора (или указатели на записи): тогда вы можете легко иметь несколько индексов, например, один для имени и один для телефонного номера, так что вы можете искать записи по обоим.
При этом я просто настоятельно рекомендую использовать структуры данных, предоставляемые стандартной библиотекой, для реальных задач: -)