|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serge Chervjakov 2:5020/400 28 Nov 2003 00:43:00 To : Maxim Subject : - Создание бинарного дерева. Помощи прошу! -------------------------------------------------------------------------------- Thu Nov 27 2003 17:27, Maxim wrote to All: M> $_[0]=$tree <-------- "..Присвоение $_[0] устого узла приводит к M> измененю значения на вызывающей стороне... " ------> M> return; M> Вопросы: M> 1. Объясните что имелось ввиду под косвенной передачей по ссылке M> ПРИВОДЯЩЕЕ К СОЗДАHИЮ ДЕРЕВА HА ПЕРЕДАЮЩЕЙ СТОРОHЕ в $_[0]=$tree ? Значит, когда ты вызывал insert($tree, ля-ля), в $_[0] лежит вовсе не лишь значение $tree (а в $tree именно значение лежит - указатель по-моему на хеш?), а _ссылка_ на него. Это значит, что если ты меняешь $_[0] в insert'е, то и там откуда insert вызывается, $tree изменит свое значение. Коряво объяснил, но если вчитаешься - поймешь:). perldoc perlsub опиывает это так: - --- Because the assignment copies the values, this also has the effect of turning call-by-reference into call-by-value. Otherwise a function is free to do in-place modifications of "@_" and change its caller's values. ^^^^^^^^^^^^^^^^^^^^^^^^^^ - --- M> 2. Ккакой критерий можно организовать для упорядочевания бинарного дерева M> если значениями будут строки? Hе совсем понял вопроса, но по-моему perldoc perlop - искать оператор сравнения строк. Странно:), но на вскидку не скажу - _возможно_ cmp. --- ifmail v.2.15dev5.1 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1667972359600.html, оценка из 5, голосов 10
|