Стандартная реализация Циклического списка существуют для C++?

Если вы скачали бинарный файл и получили это исключение

enter image description here

Тогда, пожалуйста, проверьте, что ваш путь Spark_home может содержать пробелы типа «apache spark» / bin

Просто удалить пробелы будет работать.

23
задан Runcible 3 June 2009 в 21:57
поделиться

2 ответа

Стандартного кольцевого списка нет.

Однако в Boost есть кольцевой буфер , который может быть полезен.

Если вам ничего не нужно вообразите, вы можете просто использовать вектор и получить доступ к элементам с помощью индекса. Вы можете просто изменить свой индекс на размер вектора, чтобы получить то же самое, что и круговой список.

30
ответ дан 29 November 2019 в 01:33
поделиться

Если вы хотите что-то похожее на итератор, вы можете создать свой собственный, похожий на

template <class baseIter>
class circularIterator {
    private:
        baseIter cur;
        baseIter begin;
        baseIter end;
    public:
        circularIterator(baseIter b, baseIter e, baseIter c=b)
            :cur(i), begin(b), end(e) {}
        baseIter & operator ++(void) {++cur; if(cur == end) {cur = begin;}}
};

(Другие операции итератора оставлены в качестве упражнения для читателя).

18
ответ дан 29 November 2019 в 01:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: