![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 05.05.2013
Сообщений: 3
|
![]()
есть кольцевой список вида:
Код:
Последний раз редактировалось Stilet; 05.05.2013 в 13:09. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
В кольцевом списке не может быть N-го элемента.
|
![]() |
![]() |
![]() |
#3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Код:
Код:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 05.05.2013
Сообщений: 3
|
![]()
хм, идею я приблизительно понял...
в поиске поворнуть список на N шагов. Посчитать количество элементов в списке можно запомнив адрес текущего элемента, поворачивая список на 1 шаг и увеличивая счётчик, пока адрес элемента "на верху" не совпадёт с запомненным. а в удалении удалить элемент и переписать указатели: указатель (N-1)-ого элемента сделать указывающим на (N+1)-й элемент, а указатель соответствующего значения обнулить. Но как всё это реализовать на Си? |
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Я и сам над этим задумывался. )
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 05.05.2013
Сообщений: 3
|
![]()
добавил для поиска:
node_t * find(const node_t * ring, const int value) { const node_t * current = ring; do { if ( current->value == value ) return (node_t*)current; current = current->next; } while ( current != ring ); return NULL; } как в функции main() организовать цикл который находит N-й элемент, удаляет его, с (N+1)-ого элемента снова отсчитывает N-й элемент, удаляет его и т.д. пока не останется 1 элемент, затем вывести его на экран. Цикл должен пройти n-1 раз, где n - количество элементов |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Кольцевой список | Fatalita | Помощь студентам | 0 | 28.11.2012 17:18 |
Си. Кольцевой список | F_A_N_Alex | Помощь студентам | 3 | 06.10.2009 08:20 |
Кольцевой список | counter | Общие вопросы C/C++ | 4 | 20.10.2008 08:09 |