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

Реализовать структуру "Список с пропусками" (Skip List) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Можно ли получить адрес памяти где хранится буква "a" http://www.cyberforum.ru/cpp-beginners/thread1103450.html
Всем привет! Пожалуйста объясните этот код ) char string = "abcdef"; cout << string; // будет вывод abcdef cout << *string; // вот это не понятно,результат будет буква "a" но почему ? cout << &string; //и это не понятно результат будет "bcdef" но почему ? И еще можно ли получить адрес памяти где хранится буква "a" или др буква? Всем заранее спасибо!
C++ Описание готовых DLL Часто натыкаюсь на одни библиотеки в программах или играх вроде binkw32.dll, zlib.dll(для сжатия) или eax.dll(вроде бы, что-то связанное со звуком). Но в книгах почти ничего не сказано о готовых dll-ках. И как понять, где и какую можно применить вместо того чтоб писать свой код. Может есть своего рода каталог: для работы со звуком - одни, для архивации - вот из этого выбирай. а то так тыкать по... http://www.cyberforum.ru/cpp-beginners/thread1103442.html
C++ Найти минимум среди сумм элементов диагоналей, параллельных побочной диагонали матрицы[массив]
Привет всем,возникла проблема с решение данной проблемы(Найти минимум среди сумм элементов диагоналей, параллельных побочной диагонали матрицы). min = 10000; l = s; for(d = 0;d < 2*s; d++){ sum = 0; if(l<s){ for(i = 0; i < c; i++) for(k = 0; k < s; k++) if(mass != mass)
Инвариант в цикле C++
void Multiplication(int a, int b) { int c; for(int i = 0; i < 5; i++) // i = ряд матрицы a { for(int j = 0; j < 5; j++) // j = столбец матрицы b { c = a * b; } }
C++ Динамический массив и строки и ошибка app4.exe вызвал срабатывание точки останова http://www.cyberforum.ru/cpp-beginners/thread1103415.html
Ребята, подскажите, создал динамический массив типа char, заполняю его 3-мя элементами и удаляю, вот здесь: if(flag==true) { memory_arr=symb_arr; memory_arr=symb_arr; memory_arr=symb_arr; min_mass_double=atof(memory_arr); i=i+2; count++;
C++ зацикливание при чтении файлов Здравствуйте, подскажите, как можно изменить код, чтобы цикл заканчивался, когда проверен на принадлежность последний элемент второго файла( файл 1< файл 2 < файл 3 ) f1=0; f2=0; f3=0; g1=0; g2=0; h1=0; h2=0; infile1>>x; infile2>>y; infile3>>z; while (infile1.good () || infile2.good () || infile3.good () ) { cout << x; cout<<endl; подробнее

Показать сообщение отдельно
TheChosenOne
13 / 13 / 1
Регистрация: 13.09.2013
Сообщений: 113
24.02.2014, 02:18     Реализовать структуру "Список с пропусками" (Skip List)
Доброго времени суток. Кто-нибудь сталкивался с написанием данной структуры ? Наткнулся у Страуструпа на задание,где необходимо реализовать такую структуру. Нашел в интернете много информации,понял принцип работы. Однако никак не могу реализовать... Читал чужие листинги,однако не смог разобраться как взаимодействуют отдельные элементы программы. Если кто-нибудь сталкивался,то просьба выложить его листинг (ну или какой-нибудь) и прокомментировать его. Буду благодарен )

Добавлено через 5 часов 33 минуты
Ап...

Добавлено через 4 часа 32 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 template<class T>
 void skipset<T>::insert(const T &value){
     Skip<T> *x=header;
     Skip<T> *update[max_level+1];
     memset(update,0,sizeof(Skip<T>*) * (max_level+1));
     for(int i=level;i>=0;i--){
 
         while(x->forward[i]!=NULL && x->forward[i]->value < value)
             x=x->forward[i];
                   update[i]=x;
 
     }
 
 
      x=x->forward[0];                           //Объясните что происходит с этого момента плз,желательно подробно
      if(x==NULL   || x->value!=value){
int lvl=random_level();
if(lvl>level){
    for(int i=level+1;.i<=lvl;i++){
        update[i]=header;
 
 
    }
    level=lvl;
 
 
}
 x=new Skip<T>(lvl,value);
 for(int i=0;i<=lvl;i++){
     x->forward[i]=update[i]->forward[i];
     update[i]->forward[i]=x;
 
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru