ВУЗ:
Составители:
Рубрика:
. Практикум по курсу «Алгоритмизация и программирование». Часть 2
// осуществляем рекурсивный вызов для
// построения поддерева этого выражения
next->left=CreateTree(str,1, i);
// правый операнд – выражение, находящееся
// справа от i-го символа, оно может
// содержать только операнды (level=2)
// осуществляем рекурсивный вызов для
// построения поддерева этого выражения
next->right=CreateTree(str+i+1,2, len-i-1);
}
else
// операции '*' и '/' не найдены, выражение
// может содержать только операнды (level=2)
// осуществляем рекурсивный вызов для
// построения поддерева выражения
next=CreateTree(str,2,len); break;
// выражение содержит операнды
case 2:
// создаем новый листовой узел дерева
next=new Tree;
next->operation='@';
sscanf(str, "%f", &(next->operand));
next->left=NULL;
next->right=NULL;
}
// возвращаем адрес созданного узла
// первый вызов функции вернет
// адрес корневого узла дерева
return next;
}
Домашнее задание
1. Дано бинарное дерево. Написать функцию уничтожения дерева.
2. Дано бинарное дерево. Написать функцию вычисления глубины дере-
ва.
3. Дано бинарное дерево. Написать функцию вычисления количества
узлов на заданном уровне дерева.
103
. Практикум по курсу «Алгоритмизация и программирование». Часть 2
// осуществляем рекурсивный вызов для
// построения поддерева этого выражения
next->left=CreateTree(str,1, i);
// правый операнд – выражение, находящееся
// справа от i-го символа, оно может
// содержать только операнды (level=2)
// осуществляем рекурсивный вызов для
// построения поддерева этого выражения
next->right=CreateTree(str+i+1,2, len-i-1);
}
else
// операции '*' и '/' не найдены, выражение
// может содержать только операнды (level=2)
// осуществляем рекурсивный вызов для
// построения поддерева выражения
next=CreateTree(str,2,len); break;
// выражение содержит операнды
case 2:
// создаем новый листовой узел дерева
next=new Tree;
next->operation='@';
sscanf(str, "%f", &(next->operand));
next->left=NULL;
next->right=NULL;
}
// возвращаем адрес созданного узла
// первый вызов функции вернет
// адрес корневого узла дерева
return next;
}
Домашнее задание
1. Дано бинарное дерево. Написать функцию уничтожения дерева.
2. Дано бинарное дерево. Написать функцию вычисления глубины дере-
ва.
3. Дано бинарное дерево. Написать функцию вычисления количества
узлов на заданном уровне дерева.
103
Страницы
- « первая
- ‹ предыдущая
- …
- 101
- 102
- 103
- 104
- 105
- …
- следующая ›
- последняя »
