Dsa 2
Dsa 2
DIV: B
ROLL NO 20
------------------------------------------------------------------------------------------------------------------------------------------
Program:
import random
class node(object):
def __init__(self,key,level):
self.key = key
class skiplist(object):
def __init__(self,max_lvl,p):
self.MAXLVL = max_lvl
self.p = p
self.header = self.createnode(self.MAXLVL,-1)
self.level = 0
def createnode(self,lvl,key):
n = node(key,lvl)
return n
def randomlevel(self):
lvl = 0
lvl += 1
return lvl
def insertelement(self,key):
update = [None] * (self.MAXLVL + 1)
current = self.header
current = current.forward[i]
update[i] = current
current = current.forward[0]
rlevel = self.randomlevel()
update[i] = self.header
self.level = rlevel
n = self.createnode(rlevel,key)
n.forward[i] = update[i].forward[i]
update[i].forward[i] = n
def displaylist(self):
print("\n*******skip list*******")
head = self.header
node = head.forward[level]
node = node.forward[level]
print("")
def main():
lst.insertelement(3)
lst.insertelement(6)
lst.insertelement(7)
lst.insertelement(9)
lst.insertelement(12)
lst.insertelement(19)
lst.insertelement(17)
lst.insertelement(3)
lst.insertelement(26)
lst.insertelement(21)
lst.insertelement(25)
lst.displaylist()
main()
Output: