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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2011, 00:49   #1
Sonic58
 
Регистрация: 28.11.2011
Сообщений: 3
По умолчанию Иерархические списки.Удаление атомарного списка.

Всем доброй ночи!) По всем правилам воспользовался поиском по форуму и тем про иерархические списки или просто списки не нашёл.
Собственно проблема.
Существует H_list в котором записан класс по работе с иерархическими списками и функция распознавания их(файлы с кодом вложены).
Интересует удаление какого либо атомарного списка из всего заданного иерархического списка.
В ответе хотелось бы увидеть какие либо материалы по работе с иерархическими списками, ибо хочется самому уразуметь.
Заранее всем спасибо.
Вложения
Тип файла: txt Функция распознавание иерархии))).txt (1.5 Кб, 143 просмотров)
Тип файла: txt H_list.txt (2.3 Кб, 142 просмотров)
Sonic58 вне форума Ответить с цитированием
Старый 30.11.2011, 13:37   #2
Sonic58
 
Регистрация: 28.11.2011
Сообщений: 3
По умолчанию

Вот функция которая на мой взгляд могла бы удалять нужные атомарные списки :
H_list<int>* search(H_list<int>* mlist)
{
m=mlist->Head();
mlist=mlist->Tail();
if (m->Atom())
{
if (m->GetEl()==12) search(mlist);
else
{
search(mlist);
mlist=new H_list<int>(*m,*mlist);}
}
else
{
search(mlist);
mlist=new H_list<int>(*m,*mlist);}

return mlist;
}
Принцип её работы: Разбиваем входящую функцию на голову и хвост, проверяем голову на атомарность и если проверка пройдена проверяем нужное ли значение атома(я решил просто сранивать с числом 12) если условие выполнено функция вызовет себя для хвоста если не выполнено следовательно атом нам не подходит мы его оставляем вызываем функцию для хвоста и после складываем не подходящую на голову с получившимся хвостом.
По идее из списка (12(13)) функция должна возвратить ((13)) но у меня ошибка в ходе функции.
Надеюсь на вашу помощь если вопрос по H_list или функции распознавания спрашивайте.

Последний раз редактировалось Sonic58; 30.11.2011 в 13:42.
Sonic58 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Строки - списки. Удаление элементов списка. Daramos Помощь студентам 0 16.12.2010 09:05
СИ. Списки. Описание структуры односвязного списка Jane-sad Помощь студентам 9 17.05.2010 14:40
Удаление последнего элемента из списка и реверс этого списка. Goose Общие вопросы C/C++ 8 16.05.2010 16:12
Списки. Удаление элемента из списка. thexqn Помощь студентам 0 11.05.2010 09:04