Ассоциативный массив может использоваться для большинства базовых структур данных hashtable, queue, stack. Но если вам нужно что-то вроде дерева или кучи, я не думаю, что они существуют по умолчанию, но я уверен, что где-нибудь есть бесплатные библиотеки.
Чтобы массив имитировал стек, используйте array_push()
для добавления и array_pop()
для взлета
Чтобы массив имитировал очередь, используйте array_push()
для постановки в очередь и array_shift()
для снятия с очереди
Ассоциативный массив по умолчанию является хешем. В PHP им разрешено иметь строки в качестве индексов, поэтому это работает, как и ожидалось:
$array['key'] = 'value';
Наконец, вы можете эмулировать бинарное дерево с массивом, который потенциально может быть потрачен впустую. Это полезно, если вы знаете, что у вас будет маленькое дерево. Используя линейный массив, вы говорите, что для любого индекса (i) вы помещаете его левого потомка в индекс (2i + 1) и правого потомка в индекс (2i + 2).
Все эти методы подробно описаны в этой статье о том, как заставить массивы JavaScript эмулировать структуры данных более высокого уровня.