Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 114
1

Кольцевой список STL

14.08.2015, 09:45. Просмотров 2357. Ответов 8
Метки нет (Все метки)

Добрый день, такой вопрос: можно ли работать с STL-списком как с кольцевым? Если да, то как? Нигде не нашел в литературе.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.08.2015, 09:45
Ответы с готовыми решениями:

кольцевой список. STL
В общем, есть такая проблема. Нужно реализовать кольцевой список, удовлетворяющий требованиям STL....

Реализовать кольцевой список. Как закольцевать список обычный?
Помогите пожалуйста реализовать кольцевой список. Я так понимаю, он может быть двусвязным и...

Кольцевой список
Что нужно поменять,чтобы новые елементы добавлялись не в конец списка, а в начало? void...

кольцевой список
Граждане - товарищи, нужна помощь! Задание- Описать процедуру, которая формирует очередь Queue,...

8
В астрале
Эксперт С++
8029 / 4786 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
14.08.2015, 10:18 2
VIKT0R, Нет. Только если руками это организовать. Если нужен кольцевой буфер - есть в бусте.
http://www.boost.org/doc/libs/... uffer.html
3
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 114
14.08.2015, 17:02  [ТС] 3
Спасибо, пока думаю так организовать:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
std::list<int>              myList;
std::list<int>::iterator    iter;
 
 
iter = myList.begin();
 
 
while( ......... )
{
    ++iter;
    if( iter == myList.end() )
        iter = myList.begin();
}
0
844 / 775 / 258
Регистрация: 27.07.2012
Сообщений: 2,180
14.08.2015, 17:18 4
Это будет не кольцевой список, а просто обход списка по кругу.
0
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 114
14.08.2015, 17:38  [ТС] 5
Цитата Сообщение от John Prick Посмотреть сообщение
Это будет не кольцевой список, а просто обход списка по кругу.
А какая разница?
0
844 / 775 / 258
Регистрация: 27.07.2012
Сообщений: 2,180
14.08.2015, 17:41 6
Цитата Сообщение от VIKT0R Посмотреть сообщение
А какая разница?
Ну разница в том, что кольцевой список может содержать конечное число элементов. При добавлении нового элемента, если он добавляется сверх этого числа, то он добавляется в начало, а начальный элемент затирается. А обходить такой список можно как угодно.

Решение: писать адаптер stl-списка под кольцевой.
1
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 114
14.08.2015, 18:12  [ТС] 7
Ну мне как раз не нужно конечное число элементов, так что пока остановлюсь на достигнутом.
0
844 / 775 / 258
Регистрация: 27.07.2012
Сообщений: 2,180
14.08.2015, 23:49 8
Цитата Сообщение от VIKT0R Посмотреть сообщение
Ну мне как раз не нужно конечное число элементов
Тогда тебе и кольцевой список не нужен.
0
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 114
15.08.2015, 10:03  [ТС] 9
В общем-то текущая задача решена, хотя осадок остался - непонятно, можно ли было использовать то, о чем говорилось здесь:
Цитата Сообщение от silent_1991 Посмотреть сообщение
Список (std::list) реализуется так, как я рассказал выше, с учётом того, что он ещё и кольцевой (последний элемент хранит указатель на первый).
Базовые знания
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2015, 10:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Кольцевой список
Пытаюсь написать программу,но столкнулся с проблемой.Написал ф-ю создания списка из n...

Кольцевой односвязный список
Реализовал класс для работы со списком студентов( использовал кольцевой односвязный список). Для...

Кольцевой двусвязный список
Приведите пожалуйста пример как его создать, добавить в него элемент и удалить элемент из такого...

Кольцевой двусвязный список
Что здесь нужно поменять, чтобы был кольцевой двусвязный список? #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.