function heapsort($arr) {
# PHP implementation of the heapsort algo.
# Better than bubblesort, but still not "the best".
$t = null;
$r = count($arr)-1;
$l = (int)($r/2)+1;
while($l > 0) {
--$l;
self::sift($arr, $l, $r);
}
while($r > 0) {
$t = $arr[0];
$arr[0] = $arr[$r];
$arr[$r] = $t;
--$r;
self::sift($arr, $l, $r);
}
return $arr;
}
}
?>
self::sift($arr, $l, $r); - что может значить эта строка, если sift - функция?
Примечание:
Такс. С классами дела не имел и впринципе углубляться сейчас незачем.
Класс действительно там был. Как преобразовать данную строчку без класса?
Что изменится, если я убрал класс?
Примечание:
Хм, так понял просто убрать "self::"? Класса нет, значит обращаться нужно к обычной функции.
Я правильно понял, что это так сказать указатель на то, чтобы пользовалась именно та функция, которая находится в определенном классе?
Примечание:
Функция sift есть. Не думаю, что есть смысл ее сюда приносить, там обычные действия происходят.
Примечание:
В общем класс я убрал, в классе было 3 функции. Одну убрал, там ненужная сортировка пузырьком была.
Две функции оставил, класс убрал, как написал выше. Итого есть две функции и в одной идет обращение к другой. В приципе можно все переписать в одну функцию. В таком случае, если я заменю self::sift($arr, $l, $r); на sift($arr, $l, $r);, будет все работать? Вторая функция зовется sift
Думаю уже очевиден ответ. Просто удостовериться
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.