Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2020, 08:22   #11
Audax_Rogerus
Пользователь
 
Регистрация: 06.06.2020
Сообщений: 36
По умолчанию

Можете тогда пояснить что означает каждая строчка вашего кода?

И как будет выглядеть само дерево в виде массива таких структур?

Последний раз редактировалось BDA; 08.06.2020 в 19:56.
Audax_Rogerus вне форума Ответить с цитированием
Старый 08.06.2020, 19:56   #12
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

Цитата:
Сообщение от Audax_Rogerus Посмотреть сообщение
Можете тогда пояснить что означает каждая строчка вашего кода?
Просто происходит обход односвязного списка. Сначала первые 2 элемента из списка проходятся. Потом печатается ключ текущей вершины. Потом дообходятся еще 2 элемента списка.
Цитата:
Сообщение от Audax_Rogerus Посмотреть сообщение
И как будет выглядеть само дерево в виде массива таких структур?
Вообще задание получается каким-то противоречивым. Если дерево хранится в виде массива, то детьми текущей вершины с номером i считаются элементы массива с номерами 4 * i + 1, 4 * i + 2, 4 * i + 3, 4 * i + 4. И никаких списков для хранения указателей на детей.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 09.06.2020, 08:30   #13
Audax_Rogerus
Пользователь
 
Регистрация: 06.06.2020
Сообщений: 36
По умолчанию

Задание весьма странное, но какое есть... Собственно вот оно: Необходимо написать программу реализующую минимальный набор функций(их 10 и смысла писать не вижу) по заданным в таблице 1 параметрам (собственно вариант) Собственно вот скрин задания (может я чего не так понял) (красным выделен вариант)
Изображения
Тип файла: jpg tplr.jpg (92.2 Кб, 4 просмотров)
Audax_Rogerus вне форума Ответить с цитированием
Старый 09.06.2020, 09:04   #14
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

На самом деле из такой формулировки ничего хорошего в голову не приходит. Но гуглится как раз 12й вариант, сделанный в 2012 году в ЛГТУ. Дерево хранится в массиве, а узел хранит ключ на 255 символов, индекс узла-брата и индекс узла-ребенка. Вот так кто-то выкрутился из требования 3 полей.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 09.06.2020, 09:09   #15
Audax_Rogerus
Пользователь
 
Регистрация: 06.06.2020
Сообщений: 36
По умолчанию

Можете сюда код или ссылку из этой работы скинуть?

Последний раз редактировалось Audax_Rogerus; 09.06.2020 в 09:13.
Audax_Rogerus вне форума Ответить с цитированием
Старый 09.06.2020, 20:17   #16
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

Да пожалуйста.
Вложения
Тип файла: doc Лабораторная работа №1 Вариант №12.doc (124.0 Кб, 1 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 09.06.2020, 20:45   #17
Audax_Rogerus
Пользователь
 
Регистрация: 06.06.2020
Сообщений: 36
По умолчанию

спасибо
Audax_Rogerus вне форума Ответить с цитированием
Старый 10.06.2020, 08:22   #18
Audax_Rogerus
Пользователь
 
Регистрация: 06.06.2020
Сообщений: 36
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Да пожалуйста.
Код:
void Search(TreeNode** Root, unsigned int i, char* query, bool* isFound)
{
	if ((*Root)[i].Child != -1)
		Search(Root, (*Root)[i].Child, query, isFound);
	if (!strcmp((*Root)[i].key, query))
	{
		cout << i + 1 << endl;
		*isFound = true;
	}
	if ((*Root)[i].Sib != -1)
		Search(Root, (*Root)[i].Sib, query, isFound);
}
Вопрос: а здесь не случится переполнение стека? (не вижу выхода из рекурсии)
Audax_Rogerus вне форума Ответить с цитированием
Старый 10.06.2020, 08:34   #19
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

Так если Child (или Sib) равен -1, то поиск дальше не идёт.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 10.06.2020, 09:03   #20
Audax_Rogerus
Пользователь
 
Регистрация: 06.06.2020
Сообщений: 36
По умолчанию

Спасибо за разъяснение
Audax_Rogerus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление узлов в односвязном списке Niklitel Помощь студентам 1 01.03.2014 14:41
Количество дочерних элементов дерева ds.Dante SQL, базы данных 2 09.01.2013 21:59
Запрограммировать и отладить алгоритм обхода построенного бинарного дерева слева направо romantik1993 Помощь студентам 3 14.10.2012 14:09
Дерево в БД Ассеss(удаление дочерних узлов) atihiy2010 БД в Delphi 2 14.03.2011 22:45
удаление узлов из дерева ArniLand Общие вопросы по Java, Java SE, Kotlin 0 22.09.2010 21:36