Форум программистов, компьютерный форум CyberForum.ru

Создание Skip List, используя STL (C++) - C++

Восстановить пароль Регистрация
 
TheStigger
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 14
26.11.2014, 17:32     Создание Skip List, используя STL (C++) #1
Кто-нибудь когда-то встречался с подобной реализацией скип списка? Рассматривал варианты реализации с помощью vector и set. Но возникают затруднения с переходом между уровнями, так как индексы для каждого уровня будут свои.
o---> o------------------------------------------------------------------> o Top level
o---> o-----------------> o----------> o-------------------------------> o Level 3
o---> o----------> o---> o----------> o-------------------------------> o Level 2
o---> o---> o---> o---> o---> o---> o---> o---> o---> o---> o---> o Bottom level
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 17:32     Создание Skip List, используя STL (C++)
Посмотрите здесь:

C++ Работа с STL list
C++ STL List Iterator
C++ STL List
C++ STL list
List STL C++
STL list C++
Работа с STL list + пропись List.h C++
Программа с List из STL C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2909 / 1445 / 397
Регистрация: 18.10.2014
Сообщений: 2,667
26.11.2014, 19:15     Создание Skip List, используя STL (C++) #2
Цитата Сообщение от TheStigger Посмотреть сообщение
Рассматривал варианты реализации с помощью vector и set.
Ничего, кроме vector, тут осмысленно применить не получится. Skip-list - это и есть вариант реализации set или map, поэтому пытаться реализовывать его при помощи set - это масло масляное.
TheStigger
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 14
26.11.2014, 20:13  [ТС]     Создание Skip List, используя STL (C++) #3
Тогда как можно реализовать переход между уровнями?
У меня 2 уровня. Получается в конце концов я оказываюсь где-то по середине вектора(или списка). Как можно перейти к следующему элементу? Все итераторы почему-то отталкиваются от начала.

Вот нашел по теме ответ с использованием массива и функции sizeof, только вот не получается применить пока

На примере что хочу.
C++
1
2
3
4
list<int> l;
l.push_back(1);
l.push_back(2);
l.push_back(3);
Нужно вывести со второго.
Yandex
Объявления
26.11.2014, 20:13     Создание Skip List, используя STL (C++)
Ответ Создать тему
Опции темы

Текущее время: 09:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru