Pour revenir en arrière :
R308 - Consolidation de la programmation
class Node:
def __init__(self, data):
self.data = data
self.next = None
# Affichage dans le sens lecture
def printNode(self):
print(self.data, end= " ")
if self.next is not None:
self.next.printNode()
# Affichage dans le sens inverse
def printNodeReverse(self):
if self.next is not None:
self.next.printNodeReverse()
print(self.data, end=" ")
class LinkedList:
def __init__(self):
self.head = None
def addInHead(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
def printListRec(self):
if self.head is not None:
self.head.printNode()
print()
def printListRecReverse(self):
if self.head is not None:
self.head.printNodeReverse()
print()
def countNode(self):
compteur = 0
courant = self.head
while courant is not None:
compteur += 1
courant = courant.next
return compteur
def reverseList(self):
reversed_list = LinkedList()
current = self.head
while current is not None:
reversed_list.addInHead(current.data)
current = current.next
return reversed_list
myLinkedList = LinkedList()
myNode1 = Node(10)
myNode2 = Node(20)
myNode3 = Node(30)
myNode4 = Node(40)
myLinkedList.head = myNode1
myNode1.next = myNode2
myNode2.next = myNode3
myNode3.next = myNode4
# Les differents test par rapport au code :
#############
# Sujet 3_a #
#############
"""
# 2.a printListRecRev (Afficher dans le sens de lecture)
print("Les éléments dans le sens de lecture sont :")
myLinkedList.printListRec()
print("\\nLes éléments dans le sens inverse sont :")
myLinkedList.printListRecReverse()
# 2.b countNodes (Compter le nombre de Node)
n_node = myLinkedList.countNode()
print(f"\\nActuellement il y a : {n_node} Node")
# 2.c addInHead (Ajout d'un nouveau Head)
myLinkedList.addInHead(5)
print("\\nAprès avoir Ajouté un nouveau Head :")
myLinkedList.printListRec()
n_node = myLinkedList.countNode()
print(f"Il y a : {n_node} Node")
# 2.d reverseList (Lire dans le sens Inverse)
reversed_list = myLinkedList.reverseList()
print("\\nNouvelle liste inversée :")
reversed_list.printListRec()
"""