Ребята помогите написать процедуру, которая меняет max и min элементы непустого дерева, все элементы которого различны!!
volvo
7.01.2007 22:02
Для начала вспомни, что такое минимальное, а что - максимальное значение дерева (я надеюсь, речь об упорядоченном бинарном дереве?), т.е. где именно в дереве эти элементы находятся...
Слава
7.01.2007 22:08
задача полностью звучит так :
Используя очередь или стек описать процедуру или функцию, которая : меняет местами max и min элементы непустого дерева, все элементы которого различны(ТЭД=real).
Да, я думаю речь идет об обычном упорядоченном бинарном дереве.
Гость
9.01.2007 4:33
Ребята, ну неужели никто никогда не сталкивался с такой задачей??
volvo
9.01.2007 21:30
Цитата(Слава @ 7.01.2007 17:08)
Используя очередь или стек описать процедуру или функцию, которая : меняет местами max и min элементы непустого дерева, все элементы которого различны
Зачем тут очередь, или стек - спрашивается? Без них все прекрасно делается:
procedure change_min_max(root: ttree);
type what = (_min, _max);
procedure get_extrem(find: what; p: ttree; var p_search: ttree); begin if p <> nil then begin
if p_search = nil then p_search := p else if (p^.data > p_search^.data) = boolean(ord(find)) then p_search := p;
var T: real; p_min, p_max: ttree; begin p_min := nil; get_extrem(_min, root, p_min); p_max := nil; get_extrem(_max, root, p_max);
T := p_min^.data; p_min^.data := p_max^.data; p_max^.data := T; end;
Слава
10.01.2007 4:16
не знаю, зачем это надо, просто такое задание , которое уже завтра надо сдать
можно ещё вопрос, что у меня не правильно вот в этой процедуре:
procedure PrintTree(r: TreePointer; n: integer); var i:integer; begin if r<>nil then begin PrintTree(r.^left, n+1); for i := 1 to n do Write(' '); Writeln(r^.data); PrintTree(r^.right, n+1); end; end;
Пишет invalid qualifier
volvo
10.01.2007 6:01
Цитата
PrintTree(r.^left, n+1);
Поменяй местами эти 2 символа...
Слава
10.01.2007 19:17
Volvo огромное спасибо за помощь, я всё-таки вчера смог осилить эту задачу, если кому понадобиться смогу ее выслать или выложить.
MIsterIo
14.12.2009 18:54
Плиз подскажите как создать само дерево( точнее его заполнить с сылками на элементы), чтобы потом там искать мин и макс эл-ты,затем их менять, а потом печатать уже полученное в правильном порядке.
volvo
14.12.2009 22:55
Тебе сюда: Бинарные деревья, там есть все, что нужно для решения твоей задачи...
Youri
18.12.2012 18:03
Цитата(Слава @ 10.01.2007 15:17)
Volvo огромное спасибо за помощь, я всё-таки вчера смог осилить эту задачу, если кому понадобиться смогу ее выслать или выложить.
Можете выложить задачу, а то уже просто мозг кипит
-Дмитрий-
3.10.2013 5:45
Цитата(Слава @ 10.01.2007 15:17)
Volvo огромное спасибо за помощь, я всё-таки вчера смог осилить эту задачу, если кому понадобиться смогу ее выслать или выложить.
Можешь выкинуть ее сюда?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.