mirror of
https://github.com/BreizhHardware/py_A2.git
synced 2026-01-18 16:47:38 +01:00
TP List chainée
This commit is contained in:
BIN
DS/marquet.zip
Normal file
BIN
DS/marquet.zip
Normal file
Binary file not shown.
80
TP Listes Chainées/listechainee.py
Normal file
80
TP Listes Chainées/listechainee.py
Normal file
@@ -0,0 +1,80 @@
|
||||
class Node:
|
||||
def __init__(self, value):
|
||||
self.value = value
|
||||
self.next = None
|
||||
|
||||
|
||||
class ListeChainee:
|
||||
def __init__(self, noeud = None):
|
||||
self.tete = noeud
|
||||
|
||||
def add_first(self, data):
|
||||
new_node = Node(data)
|
||||
new_node.next = self.tete
|
||||
self.tete = new_node
|
||||
|
||||
def add_last(self, data):
|
||||
new_node = Node(data)
|
||||
if self.tete is None:
|
||||
self.tete = new_node
|
||||
return
|
||||
current = self.tete
|
||||
while current.next:
|
||||
current = current.next
|
||||
current.next = new_node
|
||||
|
||||
def printLinkedList(self):
|
||||
current = self.tete
|
||||
while current:
|
||||
print(current.value, end=" -> ")
|
||||
current = current.next
|
||||
print("None")
|
||||
|
||||
def find(self, e):
|
||||
current = self.tete
|
||||
while current:
|
||||
if current.value == e:
|
||||
return True
|
||||
current = current.next
|
||||
return False
|
||||
|
||||
def remove(self, data):
|
||||
current = self.tete
|
||||
if current.value == data:
|
||||
self.tete = current.next
|
||||
return
|
||||
while current.next:
|
||||
if current.next.value == data:
|
||||
current.next = current.next.next
|
||||
return
|
||||
current = current.next
|
||||
|
||||
def isEmpy(self):
|
||||
return self.tete is None
|
||||
|
||||
def size(self):
|
||||
current = self.tete
|
||||
count = 0
|
||||
while current:
|
||||
count += 1
|
||||
current = current.next
|
||||
return count
|
||||
|
||||
def number_of_occurrences(self, e):
|
||||
current = self.tete
|
||||
count = 0
|
||||
while current:
|
||||
if current.value == e:
|
||||
count += 1
|
||||
current = current.next
|
||||
return count
|
||||
|
||||
def empty(self):
|
||||
self.tete = None
|
||||
|
||||
def __add__(self, other):
|
||||
current = self.tete
|
||||
while current.next:
|
||||
current = current.next
|
||||
current.next = other.tete
|
||||
return self
|
||||
40
TP Listes Chainées/main.py
Normal file
40
TP Listes Chainées/main.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from listechainee import ListeChainee
|
||||
|
||||
|
||||
def main():
|
||||
test_listechainee()
|
||||
|
||||
|
||||
def test_listechainee():
|
||||
LC = ListeChainee()
|
||||
LC.add_first(1)
|
||||
LC.add_first(2)
|
||||
LC.add_first(3)
|
||||
LC.add_last(35)
|
||||
LC.printLinkedList()
|
||||
LC.remove(2)
|
||||
LC.printLinkedList()
|
||||
print(LC.find(35))
|
||||
print(LC.size())
|
||||
print(LC.isEmpy())
|
||||
print(LC.find(2))
|
||||
LC.empty()
|
||||
print(LC.isEmpy())
|
||||
LC.printLinkedList()
|
||||
LC.add_first(1)
|
||||
LC.add_first(2)
|
||||
LC.add_first(2)
|
||||
LC.add_first(35)
|
||||
LC.add_last(44)
|
||||
LC.printLinkedList()
|
||||
print(LC.number_of_occurrences(2))
|
||||
LC2 = ListeChainee()
|
||||
LC2.add_first(84)
|
||||
LC2.add_first(8463)
|
||||
LC2.printLinkedList()
|
||||
LC3 = LC + LC2
|
||||
LC3.printLinkedList()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user