-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.cpp
122 lines (115 loc) · 3.62 KB
/
main.cpp
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <iostream>
#include "./include/skiplist.hpp"
#define FILE_PATH "../store/dumpfile.txt"
int main() {
SkipList<std::string, std::string> skiplist(6);
skiplist.insertElement("abcd", "Name");
skiplist.insertElement("abc", "My");
skiplist.insertElement("b", "is");
skiplist.insertElement("c", "HouChen");
skiplist.insertElement("dc", "ya");
skiplist.insertElement("fxy", "Nice");
skiplist.insertElement("gxr", "to");
skiplist.insertElement("gxr", "to");
skiplist.insertElement("hij", "Meet");
skiplist.insertElement("yz", "U");
std::cout << "skiplist size: " << skiplist.size() << std::endl;
skiplist.displaySkiplist();
skiplist.dumpFile();
skiplist.searchElement("c");
skiplist.searchElement("zxy");
skiplist.deleteElement("dc");
skiplist.updateElement("yz", "you");
skiplist.displaySkiplist();
skiplist.clearSkiplist();
skiplist.displaySkiplist();
skiplist.loadFile();
skiplist.displaySkiplist();
return 0;
}
/*
inserting element...
insert successfully! key: abcd, value: Name
inserting element...
insert successfully! key: abc, value: My
inserting element...
insert successfully! key: b, value: is
inserting element...
insert successfully! key: c, value: HouChen
inserting element...
insert successfully! key: dc, value: ya
inserting element...
insert successfully! key: fxy, value: Nice
inserting element...
insert successfully! key: gxr, value: to
inserting element...
key: gxr is already exist
inserting element...
insert successfully! key: hij, value: Meet
inserting element...
insert successfully! key: yz, value: U
skiplist size: 9
-------SkipList-------
Level 0: abc:My; abcd:Name; b:is; c:HouChen; dc:ya; fxy:Nice; gxr:to; hij:Meet; yz:U;
Level 1: abc:My; abcd:Name; b:is; c:HouChen; dc:ya; fxy:Nice; gxr:to; hij:Meet; yz:U;
Level 2: abc:My; abcd:Name; c:HouChen; dc:ya; fxy:Nice;
Level 3: abc:My; c:HouChen; fxy:Nice;
Level 4: abc:My;
Level 5: abc:My;
dumping data from memory to file...
dump file successfully!
searching element...
Found Element! key: c, value: HouChen
searching element...
key: zxy, 404 Not Found!
deleting element...
key: dc deleted successfully!
updating element...
key: yz already exists
value: U --> you
-------SkipList-------
Level 0: abc:My; abcd:Name; b:is; c:HouChen; fxy:Nice; gxr:to; hij:Meet; yz:you;
Level 1: abc:My; abcd:Name; b:is; c:HouChen; fxy:Nice; gxr:to; hij:Meet; yz:you;
Level 2: abc:My; abcd:Name; c:HouChen; fxy:Nice;
Level 3: abc:My; c:HouChen; fxy:Nice;
Level 4: abc:My;
Level 5: abc:My;
clearing skiplist...
-------SkipList-------
Level 0:
loading file to memory...
inserting element...
insert successfully! key: abc, value: My
key: abc value: My
inserting element...
insert successfully! key: abcd, value: Name
key: abcd value: Name
inserting element...
insert successfully! key: b, value: is
key: b value: is
inserting element...
insert successfully! key: c, value: HouChen
key: c value: HouChen
inserting element...
insert successfully! key: dc, value: ya
key: dc value: ya
inserting element...
insert successfully! key: fxy, value: Nice
key: fxy value: Nice
inserting element...
insert successfully! key: gxr, value: to
key: gxr value: to
inserting element...
insert successfully! key: hij, value: Meet
key: hij value: Meet
inserting element...
insert successfully! key: yz, value: U
key: yz value: U
-------SkipList-------
Level 0: abc:My; abcd:Name; b:is; c:HouChen; dc:ya; fxy:Nice; gxr:to; hij:Meet; yz:U;
Level 1: abc:My; abcd:Name; b:is; c:HouChen; dc:ya; fxy:Nice; gxr:to; hij:Meet; yz:U;
Level 2: abcd:Name; b:is; fxy:Nice; yz:U;
Level 3: b:is; fxy:Nice; yz:U;
Level 4: fxy:Nice; yz:U;
Level 5: fxy:Nice;
*/