Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 15.11.2010
Сообщений: 22
1

Динамическая структура, организовать древовидную структуру

25.04.2011, 04:01. Показов 1490. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Допустим у меня есть структура:
C
1
2
3
4
5
6
struct _Node
{
    char *FieldName;
    char *FieldData;
    struct _Node *child; 
};
Это дерево с переменным количеством детей у родителя. Сколько - неизвестно. Например взять XML, там у корневого элемента может быть сколь угодно дочерних, как реализовать подобное на Си?

Я делаю это путем динамического выделения памяти realloc'ом, вычисляя текущее количество элементов по указателю следующей конструкцией
C
1
_msize(node) + sizeof(struct _XmlNode)
, где node - указатель на struct _XmlNode. Корректно ли это? Говорят использовать _msize нельзя, но это то, что мне нужно в данной ситуации. Как быть?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2011, 04:01
Ответы с готовыми решениями:

Организовать древовидную структуру данных
ПОМОГИТЕ. Организовать древовидную структуру данных в БД: хранение и их модификацию (у меня детали...

Как вывести древовидную структуру?
Мне ничего в голову нормального не приходит :cry:

Вывести древовидную структуру с помощью рекурсии
помогите разобраться с рекурсией... в C# есть массив, id | paret_id | name нужно с помощью...

Как сохранить древовидную структуру в бинарном формате?
Собственно, вопрос. Есть данные, следующего вида: nodes 0 "root" -1 1 "child" 0 end В...

2
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
25.04.2011, 12:24 2
Цитата Сообщение от bat_dmitry Посмотреть сообщение
Говорят использовать _msize нельзя
Не то, чтобы нельзя... но лучше не надо. И ты как память выделяешь? Для каждого узла по отдельности или для всех сразу? Смысл делать список, если ты реализуешь вектор?
Ерунда в общем какая-то. Лучше на С++ пиши, можно ОО обёртку красивую сделать.) Или STL использовать...
0
0 / 0 / 1
Регистрация: 15.11.2010
Сообщений: 22
25.04.2011, 16:25  [ТС] 3
OK, спасибо, буду дальше думать...
0
25.04.2011, 16:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2011, 16:25
Помогаю со студенческими работами здесь

Разработать древовидную структуру по заданию "Мебельная фабрика"
Разработать древовидную структуру по заданию. Первый уровень – это тематика задания, второй уровень...

Динамическая структура
Только начал изучение динамических структур и сразу же наткнулся на проблему с выводом значений! ...

Динамическая структура (?)
Дорогие форумчане, помогите определиться с решением проблемы. Вообщем вот задача: Есть три float...

Динамическая структура
Добрый день. Хочу создать примерно такую структуру: struct person { char name, char delimeter,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru