Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поиск узла дерева по его имени C++

440
20 апреля 2011 года
[FENIX]
83 / / 29.01.2007
Народ, помогите пжлста. Метод уже реализован, но распечатыват сообщение не правильно.

Код:
//Функция поиска узла по его имени.
Node* Search_Node(char  name, Node * pointer)
{
   
    Node * p = NULL;

    if(pointer!=NULL)
    {
        if(pointer->value!=name)
        {
            p=Search_Node(name,pointer->left);
            p=Search_Node(name,pointer->right);
        }
        else
        {
            p=pointer;
            printf("%c",p->value);
            return p;
        }

    }
   

        if(p==NULL)
            printf("Node not found\n");
       

return p;


}



Вызов:

 
Код:
Node *Q=NULL;

    Q=Search_Node('m',root);


Если у меня дерево например вот такое:

k
/ \
y m
/ /
a p

А я ищу символ 'm', то выводится вот что:
Node not found
Node not found
Node not found
Node not found
Node not found
m
316
21 апреля 2011 года
Alm3n
889 / / 29.05.2009
доходя до каждого листа pointer будет равен NULL. вынеси
 
Код:
if(p==NULL)
printf("Node not found\n");

за рекурсивную функцию
440
21 апреля 2011 года
[FENIX]
83 / / 29.01.2007
Спасибо! Тему можно закрывать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог