Предполагая, что вы будете когда-либо запрашивать только имя человека, лучше всего использовать ассоциативную структуру данных. По сути, это структура данных, обычно реализованная в виде хеш-таблицы или сбалансированного двоичного дерева поиска, в которой данные хранятся в виде ключей => значение (или, иначе говоря, в виде пар (ключ, значение)). Вы запрашиваете структуру данных, используя ключ, и он возвращает соответствующее значение. В вашем случае ключом будет имя человека, а значением будет номер телефона.
Вместо того, чтобы реализовывать хеш-таблицу или двоичное дерево поиска для этого самостоятельно, проверьте, есть ли в вашем языке что-то подобное уже в его библиотеке, большинство языков в наши дни делают. Python имеет dict
, Perl имеет хэши, Java и C # имеют Map
, а C ++ имеет STL map
.
Вещи могут стать немного сложнее, если у вас есть несколько значений для одной и той же клавиши (например, один и тот же человек, имеющий несколько телефонных номеров), но есть обходные пути, такие как использование list
/ vector
в качестве значения или использование немного другая структура, которая поддерживает несколько значений для одного и того же ключа (например, STL multimap
). Но вам, вероятно, все равно не нужно беспокоиться об этом.