diff --git a/DS/marquet.zip b/DS/marquet.zip new file mode 100644 index 0000000..e3caf30 Binary files /dev/null and b/DS/marquet.zip differ diff --git a/TP Listes Chainées/listechainee.py b/TP Listes Chainées/listechainee.py new file mode 100644 index 0000000..dc78be9 --- /dev/null +++ b/TP Listes Chainées/listechainee.py @@ -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 \ No newline at end of file diff --git a/TP Listes Chainées/main.py b/TP Listes Chainées/main.py new file mode 100644 index 0000000..fd6cd82 --- /dev/null +++ b/TP Listes Chainées/main.py @@ -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()