2011-01-30 2 views
2

Я хочу создать функцию, которая добавляет LinkNode к заданному LinkList (создал мой собственный класс Node), но я хочу добавить оптимизацию, которую функция содержит в переменной указатель на последний добавленный узел, поэтому все, что мне нужно do добавляет новый Node к следующей ссылке переменной. Я думал, что лучший способ сделать это было бы создать статическую переменнуюСтатические переменные в PHP - нечто иное, чем литералы и константы!

$i = $overallRoot; 

, которая постоянно обновляется как функция append($node) называется. (обновлено, чтобы указать на $ node), но, видимо, вы можете сделать только статические переменные в функциях, равных int и т. д.

Что было бы лучшим способом реализовать эту оптимизацию? Спасибо за помощь; просто начал изучать PHP.

+1

Вы пытаетесь реализовать связанный список в php ??? – mhitza

+0

да ха-ха это плохо? – Andrew

ответ

0

Кажется, что гораздо более надежная оптимизация будет заключаться в том, чтобы каждый связанный список отслеживал указатель на первый и последний узлы, которые он содержит. Таким образом, стоимость добавления к связанному списку - O (1), независимо от того, когда вы последний раз пытались добавить к нему. Многие связанные списки используют этот подход, поскольку он может значительно ускорить вставку.

Извините, если это действительно не ответ на ваш первоначальный вопрос, но это похоже на гораздо лучший способ получить результат, который вы ищете.

+0

Ну, это похоже на лучший способ сделать это, спасибо! Я предполагаю, что мой первоначальный вопрос по-прежнему сохраняется, как вы назначаете объекты переменным в PHP, которые не являются ints? – Andrew

Смежные вопросы