Форум программистов, компьютерный форум CyberForum.ru

итерационный метод удаления бинарного дерева - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Модульное произведение графов http://www.cyberforum.ru/cpp-beginners/thread549394.html
Здравствуйте. Мне нужно реализовать модульное произведение графов http://www.fotohost.by/pic_b/12/04/15/065d8c3246f877ac30bde0c8e859b7d8.PNG Но я не знаю, как перемножать графы.
C++ Классы Всем привет! Очень прошу помочь написать программу на классы, для меня это нереально сложное задание, надеюсь на вас - не оставьте в беде, откликнитесь пожалуйста! Условие задания такого: Описать базовый класс «Элемент». Поля: - имя элемента (указатель на строку символов); - количество входов элемента; - количество выходов элемента; Методы: - конструктор класса; - деструктор класса; -... http://www.cyberforum.ru/cpp-beginners/thread549386.html
C++ Чтение структуры из файла
Добрый день. Пытаюсь считать структуру из файла в структуру(идентичную структуре файла) получается такой код: #include <stdio.h> #include <iostream> struct tbook { double y; double x;
C++ Задача по строкам
Вводиться строка, необходимо вывести на экран все слова нечетной длинны, в которых не содержится повторяющихся букв пример, вводим "привет большое вам спасибо" вывести должен "вам" начал делать, решил сначала вывести слова нечетной длинны, но там проблема, если предыдущее слово было длиннее, то оно не убирается полностью, вот код #include<conio.h> #include<iostream.h> #include<string.h>...
C++ Блок схема : посчитать сумму элементов выше главной диагонали матрицы 5х5. http://www.cyberforum.ru/cpp-beginners/thread549343.html
Помогите плизз составить блок схему к задаче. Посчитать сумму элементов выше главной диагонали матрицы 5х5.
C++ правильно ли проверка на то, что поиск пуст? вот часть кода: ... proc = strstr(proc, slovo); if(proc == NULL) { log << "proc is NULL\n"; break; } ... подробнее

Показать сообщение отдельно
alan_parker
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 17
15.04.2012, 22:42     итерационный метод удаления бинарного дерева
Есть бинарное дерево поиска нужно создать итерационный метод удаления дерева. Вот есть функция удаления дерева но при удалении происходит ошибка вот такая: Необработанное исключение в "0x64bd12b4" в "Derevo.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfeeefee8".
и указивает на free(node->left);

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
typedef struct tag_tree{
    int info;
    struct tag_tree *left, *right;
}TREE;
 
void FreeNodeMemo(TREE *node);
 
int TreeHeight(TREE *root)
{
    int lh,rh;
    if(root == NULL) return 0;
    lh = TreeHeight(root->left);
    rh = TreeHeight(root->right);
    return lh>rh ? lh+1: rh+1;
}
 
 
void FreeNodeMemo(TREE *node)
{
    free(node->left);
    free(node->right);
    free(node); 
}
 
 
 
void DeleteAllNodes(TREE *root)
{
    
    TREE **stack;
    stack = (TREE**)malloc(TreeHeight(root)*sizeof(TREE*));
    int st=NULL;
    TREE *node = root, *pnext;
    while(node != NULL){
        if(node->left != NULL){
            pnext = node->left;
            if(node->right != NULL)
                stack[st++] = node->right;
        }else
            if(node->right != NULL)
                pnext = node->right;
            else
                pnext = stack[st--];
        FreeNodeMemo(node);
        node = pnext;
        
        
    }
}
Помогите пожадуйста исправить ошибку.Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru