-
Notifications
You must be signed in to change notification settings - Fork 0
/
lista_encadeada.py
66 lines (49 loc) · 1.29 KB
/
lista_encadeada.py
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
class Celula():
def __init__(self, dado, proximo=None):
self.__dado = dado
self.__proximo = proximo
def get_dado(self):
return self.__dado
def set_dado(self, object):
self.__dado = object
def get_proximo(self):
return self.__proximo
def set_proximo(self, proximo):
self.__proximo = proximo
dado = property(get_dado, set_dado)
proximo = property(get_proximo, get_proximo)
class ListaEncadeada():
def __init__(self, head=None, tail=None):
self.__contador = 0
self.__head = head
self.__tail = tail
def get_contador(self):
return self.__contador
def get_head(self):
return self.__head
def get_tail(self):
return self.__tail
def adiciona(self, dado):
celula = Celula(dado)
if self.__head == None:
self.__head = celula
self.__tail = celula
self.__contador += 1
else:
# self.__head = celula
self.__tail.set_proximo(celula)
self.__tail = celula
self.__contador += 1
def remove():
pass
contador = property(get_contador)
head = property(get_head)
tail = property(get_tail)
listaEncadeada = ListaEncadeada()
listaEncadeada.adiciona('teste1')
print(listaEncadeada.head.proximo)
listaEncadeada.adiciona('teste2')
print(listaEncadeada.head.proximo)
listaEncadeada.adiciona('teste3')
print(listaEncadeada.head.proximo)
print(listaEncadeada.contador)