На этом шаге мы проиллюстрируем использование хэш-массива для создания
простейших структур данных.
Связанный список - это простейшая динамическая структура данных, расположенных в определенном порядке. Каждый элемент связанного списка состоит из некоторого значения, ассоциированного с данным элементом, и ссылки на следующий элемент списка. Последний элемент списка не имеет ссылки на следующий, что обычно реализуется в виде простой ссылки. Для окончательного задания связанного списка следует объявить переменную, указывающую на первый элемент списка, которую называют заголовком. Для связанного списка определяются операции выбора, удаления и добавления элемента списка относительно заданного. Графически связанный список можно представить так, как показано на рис. 1.
Рис.1. Графическое представление списка
С помощью хеш-массивов связанный список реализуется просто. Для этого следует значение элемента задать в качестве ключа для следующего за ним элемента списка, определив, таким образом, указатель на следующий элемент. Значением последнего элемента в хеш-массиве будет пустая строка. Приведем реализацию связанного списка, а также добавление нового элемента:
%linked_list = ( "начало" => "первый", "первый" => "третий", "третий" => "" ); # Добавление элемента со значением "второй" # после элемента со значением "первый". $temp = $linked_list{"первый"}; # Запомнили старый указатель. $linked_list{"второй"} = $temp; # Добавили новый элемент. $linked_list{"первый"} = "второй"; # Указатель на новый элемент. $item = $header; # Печать нового связанного списка. While ($linked_list{$item}) { # Пока не дойдем до пустой строки, print $linked_list{$item}, "\n"; # будем печатать значения элементов. $item = $linked_list{$item}; }
Результатом выполнения программы будет печать значений элементов нового связанного списка в следующем порядке:
первый второй третий
На следующем шаге мы начнем рассматривать основные операторы языка программирования Perl.