From f13964cab2546754e08e61eda061a260473eb7e5 Mon Sep 17 00:00:00 2001 From: enqidu Date: Tue, 7 Jul 2020 14:04:44 +0400 Subject: [PATCH] skip-list --- data_structures/skip_list.cpp | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/data_structures/skip_list.cpp b/data_structures/skip_list.cpp index bae1a7bbe..19fdc6276 100644 --- a/data_structures/skip_list.cpp +++ b/data_structures/skip_list.cpp @@ -9,12 +9,12 @@ #include #include #include +// using namespace std; +using std::vector; +using std::endl; #define MAXLVL 2 #define P 0.5 - -using std::endl; -using std::vector; /** @@ -27,7 +27,7 @@ public: /*Forward Array*/ vector forward; Node(int key, int level, void* value); -} +}; Node::Node(int key, int level, void* value) { @@ -37,7 +37,7 @@ Node::Node(int key, int level, void* value) { for (int i = 0; i < sizeof(Node*)*(level+1); i++){ forward.push_back(NULL); } -} +}; // Class for Skip list class SkipList { @@ -50,13 +50,14 @@ public: void deleteElement(int); void* searchElement(int); void displayList(); -} +}; SkipList::SkipList() { level = 0; /* Header initialization*/ header = new Node(-1, MAXLVL, NULL); -} +}; + /** * Returns random level for skip list; @@ -65,7 +66,7 @@ int SkipList::randomLevel() { int lvl = 0; while(rand()%2 < P && lvl < MAXLVL) lvl++; return lvl; -} +}; // Insert given key in skip list @@ -103,7 +104,8 @@ void SkipList::insertElement(int key, void* value) { } else { printf("Exists\n"); } -} +}; + void SkipList::deleteElement(int key) { @@ -132,7 +134,7 @@ void SkipList::deleteElement(int key) } else { printf("Doesnt Exists\n"); } -} +}; /** @@ -154,7 +156,7 @@ void* SkipList::searchElement(int key) { printf("NOT FOUND\n"); return NULL; } -} +}; // Display skip list level wise void SkipList::displayList() { @@ -168,9 +170,10 @@ void SkipList::displayList() { } printf("\n"); } -} +}; -int main() { +int main() +{ srand((unsigned)time(0)); SkipList lst; @@ -181,5 +184,5 @@ int main() { } lst.displayList(); - return 0; -} \ No newline at end of file + +}