Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > связанные списки


Автор: psyco 10.12.2008, 22:42
как сделать с помошью связанных списков следующее:
1 итерация=2: N[1]->N[2] (указатель N[1] на N[2])
2 итерация=2+4: N[1]->N[3]->N[4]->N[5]->N[6]->N[2]
3 итерация=2+4+4*4 и т.д.
Т.е. между двумя соседними N нужно вложить еще 4 N
Подскажите пожайлуста как такое запрограммировать,заранее спасибо)

Автор: Kallikanzarid 10.12.2008, 23:00
Это так трудно? Временно разъединяем 1 и 2, добавляем перед 2 четыре элемента, снова соединяем. Как именно это сделать в STL - каюсь, не знаю  smile 

Автор: psyco 10.12.2008, 23:13
хых,сделать вот так как ты сказал действительно не трудно,но дело в том что число итераций наперёд неизвестно,т.е. его задаёт препод xDD нужно кажеться циклом запрограммировать,но как???и ещё такой вопрос:дело в том что первые 2 точки - это начало и конец линии на граф экране  _____ ,2 итерация - когда мы добавляем между двумя точками ещё 4 превращает нашу линию в такую: _П_ т.е. линию делит на 3 части,горизонтальные части которой равны вертикальным и т.д. Вопрос вот в чём: эти точки я создаю во время разделения их,а потом по ним рисую линию или же с каждой итерацией прибавляю на рисунок следующую часть??

Автор: Kallikanzarid 11.12.2008, 11:43
Ты строишь фрактал? Так бы сразу и сказал. Тут, ИМХО, связный список не всегда хорош - лучше погугли в поисках более эффективного алгоритма.

Автор: psyco 11.12.2008, 14:01
да,именно фрактал,но у меня задача построить его с помощью списков.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)