Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Element:
- def __init__(self, nume):
- self.nume = nume
- self.link = None
- def setareLink(self, element):
- self.link = element.nume
- def __eq__(self, element):
- if element != None:
- if self.nume == element.nume:
- return True
- else:
- return False
- return False
- def __repr__(self):
- return "Elementul " + str(self.nume) + ", "
- class Lista:
- def __init__(self):
- self.root = None
- def adaugare(self, element):
- if element != None:
- if self.root == None:
- # daca lista e goala, il punem ca si primul element
- self.root = element
- else:
- # daca lista nu e goala
- element.link = self.root
- self.root = element
- def calculareNumarFete(self):
- numarFete = 0
- i = self.root
- while i != None:
- if i.nume[-1] == "a":
- numarFete += 1
- i = i.link
- return numarFete
- def esteInLista(self, numele):
- flag = False
- i = self.root
- while i != None:
- if i.nume == numele:
- flag = True
- i = i.link
- return flag
- def stergereElement(self, element):
- if self.root != None:
- if self.root == element:
- self.root = self.root.link
- else:
- previous = None
- after = None
- i = self.root
- while i.link != None:
- if i.link == element:
- previous = i
- after = i.link.link
- i = i.link
- if previous != None and after != None:
- previous.link = after
- def adaugaSortat(self, x):
- if x > root:
- succesor = None
- precedent = None
- el = self.root
- while x > el.link and e.link != None:
- el = el.link
- if e.link == None:
- e.link = x
- else:
- succesor = el.link
- precedent = el
- x.link = succesor
- precedent.link = x
- else:
- x = root
- x.link = root
- def __repr__(self):
- s = " "
- i = self.root
- numarFete = 0
- while i != None:
- s = s + str(i)
- i = i.link
- return s
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement