Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
8 / 7 / 2
Регистрация: 23.06.2009
Сообщений: 41
1

Бинарное дерево

30.04.2010, 00:46. Просмотров 2012. Ответов 1
Метки нет (Все метки)

Нужно записать в дерево и вывести в форматированном виде каталог файлов(типа windows)
на вход даны имена файлов вида
c:\win\1
c:\win\2
c:\sys
\ не является частью имени, а служит для разделения узлов при задании пути
Внутри одного узла не допускаются листья с одинаковыми именами
Длины имен узлов и листьев, как и их количество – не ограничены, нужно использовать динамическую память.
вывод вида
c:
win
1
2
sys

проблема в том что нельзя использовать STL
как реализовать запись в дерево, подскажите плз
чтение имени реализовал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char *ReadName(FILE *pFile)
{
    char *pString = NULL;
    int ch;
    int length = 0;
    while (((ch = fgetc(pFile)) != EOF) && (ch != '\n') && (ch != '\\'))
    {
        pString = reinterpret_cast<char*>(realloc(pString, length + 1)); 
        pString[length++] = static_cast<char>(ch); 
    }
    if ((length != 0) || (ch != EOF))
    {
        pString = reinterpret_cast<char*>(realloc(pString, length + 1));
        pString[length] = '\0';
    }
    return pString;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2010, 00:46
Ответы с готовыми решениями:

Исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру
Помогите, не могу понять!( Нужно исходное бинарное дерево превратить в бинарное дерево поиска, при...

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

Бинарное дерево
Задание сделать бинарное дерево, но при добавлении появилась проблема, не могу разобраться с...

Бинарное дерево
Мой код: Patient.h // // Created by User on 26.04.2016. // #ifndef LABA_10_PATIENT_H...

1
372 / 286 / 97
Регистрация: 17.12.2009
Сообщений: 567
02.05.2010, 02:37 2
для каждого узла: левое поддерево это вложенные в него папки или файлы, прваое поддерево это файл или папка находящиеся на одном уровне с данным узлом. только чтобы описать большое количество файлов в папке потребуется еще один тип узл-соединитель.
для:
c:\temp\lab1\prg1.c
c:\temp\lab1\prg2.c
c:\temp\lab2\prg1.c
c:\temp\task
c:\work\foto.jpg
c:\lib\dev-c++
дерево будет:
Код
                             c:
                          /     \
                       work      0
                       /   \
              foto.jpg      *
                              \
                               temp
                              /     \
                         lab1        *
                      /      \         \
                  prg1.c      *         lib
                    \           \        /
                     *         lab2   dev-c++
                      \          /  \
                  prg2.c   prg1.c   *
                                       \
                                     task
где '*' - соединительный узел.

Добавлено через 23 часа 48 минут
Хотя нет, что то я намудрил. Не надо узла соединителя. просто правый сын на одном уровне с отцовким узлом и все.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2010, 02:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Бинарное дерево
Разработать и реализовать на языке С следующие функции работой с бинарным деревом: 1. Создание...

Бинарное дерево
Здравствуйте.Прошу помощи.Никак не могу разобраться в задании.Нужно сделать бинарное дерево и с...

Бинарное дерево
Здравствуйте.Прошу помощи.Никак не могу разобраться в задании.Нужно сделать бинарное дерево и с...

Бинарное дерево
Необходимо построить бинарное дерево с методами inorder_tree_walk, tree_search, tree_minimum,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.