• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kstars

  • sources
  • kde-4.12
  • kdeedu
  • kstars
  • kstars
  • htmesh
SkipListElement.h
Go to the documentation of this file.
1 #ifndef _SkipListElement_H
2 #define _SkipListElement_H
3 
4 /*
5  File: SkipListElement.h
6  Interface for skip list elements
7  See William Pugh's paper:
8  Skip Lists: A Probabilistic Alternative to Balanced Trees
9  Author: Bruno Grossniklaus, 13.11.97
10  Version: 1.0
11  History:
12  13.11.97; Gro; Version 1.0
13 */
14 
15 #include <SpatialGeneral.h>
16 
17 #define SKIPLIST_MAXLEVEL 6 // maximum node level
18 #define NIL 0 // invalid pointer
19 
20 #ifdef _WIN32
21 #define KEY_MAX _I64_MAX
22 #else
23 # if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || ( defined(__SUNPRO_CC) && defined(__sun) )
24 # define KEY_MAX LLONG_MAX
25 # else
26 # define KEY_MAX LONG_LONG_MAX
27 # endif
28 #endif
29 
30 typedef int64 Key; // key type
31 typedef int Value; // value type
32 
33 class SkipListElement;
34 
35 class LINKAGE SkipListElement{
36 public:
37  SkipListElement(long level = 0, Key key = 0, Value value = 0);
38 
40  Key getKey() const { return myKey; };
42  void setKey(Key key) { myKey = key; };
43 
45  Value getValue() const { return myValue;}
47  void setValue(Value value) { myValue = value;}
48 
50  long getLevel() const {return(myLevel);};
52  void setLevel(long level) { myLevel = level; }
53 
55  SkipListElement* getElement(long level);
57  void setElement(long level, SkipListElement* element);
58 
59 private:
60  long myLevel; // level of element
61  Key myKey; // key of element
62  Value myValue; // value of element
63  SkipListElement* myNext[SKIPLIST_MAXLEVEL]; // pointers to next elements
64 };
65 #endif // _SkipListElement_H
SkipListElement::setLevel
void setLevel(long level)
Set level of element.
Definition: SkipListElement.h:52
SkipListElement::setKey
void setKey(Key key)
set key of element
Definition: SkipListElement.h:42
SkipListElement
Definition: SkipListElement.h:35
Value
int Value
Definition: SkipListElement.h:31
SKIPLIST_MAXLEVEL
#define SKIPLIST_MAXLEVEL
Definition: SkipListElement.h:17
int64
long long int64
Definition: SpatialGeneral.h:68
SkipListElement::getKey
Key getKey() const
get key of element
Definition: SkipListElement.h:40
SkipListElement::getLevel
long getLevel() const
get level of element
Definition: SkipListElement.h:50
SkipListElement::getValue
Value getValue() const
get value of element
Definition: SkipListElement.h:45
SkipListElement::setValue
void setValue(Value value)
set value of element
Definition: SkipListElement.h:47
Key
int64 Key
Definition: SkipListElement.h:30
SpatialGeneral.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:20 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kstars

Skip menu "kstars"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal