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

Нерекурсивный обход дерева - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов http://www.cyberforum.ru/cpp-beginners/thread208472.html
Ребят помогите пожалуста) Даны две строки st1 и st2. Выяснить можо ли из строки st1 сделать строку st2 путем перестановки символов.
C++ Цикл и вектор Проблема в том, что оно входит в цикл ака for(i=0;i<-1;i++) Сразу даю кусок кода =) В функцию передаем координаты вершин фигуры, прямоугольник, по которому отсекаем ее и цвет points - vector<point> (в point находятся x и y) rect - структура из left, right, top, bottom void Cross(points p, rect r, int cc) { p.push_back(p);//добавим в начало первую точку, чтобы всю фигуру анализировать... http://www.cyberforum.ru/cpp-beginners/thread208471.html
C++ Массив структур
Информация о дисциплине содержит название, количество часов лекций, количество часов практических занятий, фамилию преподавателя. Вывести информацию о дисциплинах, которые читаются заданным преподавателем. #include<iostream.h> #include<conio.h> #include<math.h> #include<string.h> #include<stdlib.h> void main(void) { clrscr();
Текстовые файлы C++
Добрый день! Мне необходимо обработать текстовый файл, подсчитав в нем количество слов, предложений и абзацев. В каждой строчке не более 20000 символов. Пишу программу #include <stdio.h> #include <string.h> int control (char *str) { int i = 0, k = 0; while ((str != '\0') || (str != '\n')) { if (((str >= 'A' && str <= 'Z') || (str >= 'a' && str <= 'z')) && ((str !=...
C++ шаблоны и связь между файлами в проекте http://www.cyberforum.ru/cpp-beginners/thread208438.html
Собственно, проблема в следующем: если убрать комментарии в файле list.h, то все нормально компилируется. если убрать комментарии в файле list.cpp, то в point.cpp выводится ошибка "undefined reference" в принципе, проблема решаема, например, подключением в point.h вместо list.h list.cpp, но стало интересно почему появляется эта ошибка? point.h #include "list.h"
C++ Написать программу, которая считает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв. нужно чтобы в файл записывалось пользователем русские и английские слова, программа програма считывала только анг язык, и выводила только те слова (агл) которые начинаются на гласную букву) подробнее

Показать сообщение отдельно
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
12.12.2010, 15:59     Нерекурсивный обход дерева
кажется перебил правильно, но стек на односвязном списке обычно организовывается немножко удобнее, нужно определить класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class MySteck{
    struct list_node*{
        list_node *next;
        int value;
        list_node(list_node *l, int v);
    };
    list_node *head;
    int sz; // количество узлов в списке
public:
    void push(int x);
    void pop();
    void top();
    bool empty();
    int size();
};
просто так намного понятнее и можно хорошо протестировать стек отдельно от непосредственного использования.
Цитата Сообщение от Artishok Посмотреть сообщение
я изменил tt->left на tt->right а tt->left но это ничего не изменило
не может быть, чтобы это ничего не изменило, смотри внимательнее. Может где-нибудь опечатался, или забыл поменять... ну если написано tt = tt->right; как обход может в другую сторону пойти!? нрипиши там везде вывод содержимого узлов на экран, чтобы было видно точно куда идет обход. Может твоя процедура заполнения дерева заполняет его не в том порядке, в каком ты думаешь. Сначала распечатай дерево обычно процедурой:
C++
1
2
3
4
5
6
7
8
9
void print(node *t,int n)
{
    if (t != NULL) {
        print(t->right,n+1);
        for (int i = 0; i < n) std::cout << "  ";
        std::cout << t->val << '\n';
        print(t->left,n+1);
    }
}
и убедись, что дерево именно такое, каким ты его себе представляешь.
 
Текущее время: 19:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru