File indexing completed on 2024-04-14 14:10:46

0001 /*
0002     File: SkipListElement.C
0003     Author: Bruno Grossniklaus, 13.11.97
0004     Version: 1.0
0005     History:
0006     13.11.97; Gro; Version 1.0
0007 */
0008 
0009 #include <iostream> // cout
0010 
0011 #include "SkipListElement.h"
0012 
0013 ////////////////////////////////////////////////////////////////////////////////
0014 SkipListElement::SkipListElement(long level, Key key, Value value) : myLevel(level), myKey(key), myValue(value)
0015 {
0016     for (int i = 0; i < SKIPLIST_MAXLEVEL; i++)
0017         myNext[i] = nullptr;
0018 }
0019 
0020 ////////////////////////////////////////////////////////////////////////////////
0021 SkipListElement *SkipListElement::getElement(long level)
0022 {
0023     if (level > myLevel)
0024     {
0025         std::cerr << "Error in :"
0026                   << "SkipListElement::getElement() level:";
0027         std::cerr << level << ", my level:" << myLevel << ", max level: " << SKIPLIST_MAXLEVEL << std::endl;
0028         return (this);
0029     }
0030     else
0031     {
0032         return (myNext[level]);
0033     }
0034 }
0035 
0036 ////////////////////////////////////////////////////////////////////////////////
0037 void SkipListElement::setElement(long level, SkipListElement *element)
0038 {
0039     if (level > myLevel)
0040     {
0041         std::cerr << "Error in :"
0042                   << "SkipListElement::setElement() level:";
0043         std::cerr << level << ", my level:" << myLevel << ", max level: " << SKIPLIST_MAXLEVEL << std::endl;
0044     }
0045     else
0046     {
0047         myNext[level] = element;
0048     }
0049 }