From c445868af426cf1a241bcbdf05d4c09dc428be34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20MARQUET?= Date: Wed, 3 Apr 2024 11:02:12 +0200 Subject: [PATCH] =?UTF-8?q?TP=20List=20chain=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DS/marquet.zip | Bin 0 -> 3111 bytes TP Listes Chainées/listechainee.py | 80 +++++++++++++++++++++++++++++ TP Listes Chainées/main.py | 40 +++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 DS/marquet.zip create mode 100644 TP Listes Chainées/listechainee.py create mode 100644 TP Listes Chainées/main.py diff --git a/DS/marquet.zip b/DS/marquet.zip new file mode 100644 index 0000000000000000000000000000000000000000..e3caf30d4f7e703675db4108e3665194750532cd GIT binary patch literal 3111 zcmbtWc{r47A0A{dLmXR{kqAe!W^E`-woJxkDMDzBF~~Aw8Ou~-ElV1*P0CIrQ;v`& zT1aD;tmVkQO`|4DgwLGo^r`dL`L6GIuiyK;f8Fo<-uHFi_k)13?GprW?p_)Ok@kSU zmj)jIAOSc8aP#%W1f#GxHw+eqb3yr_f_FCz4&|#Hh!3>0r{3*pnyKK%kGM_G+~yxiR|{_->=qQBqbtKpiiT!j@~S$l$&i zW!d^R!`}gpI!?XCCR{C2l9Tv`{Ps}2y8CTC5=WF;f>iyfvg`zq+xBmDUx-g`+de~B zFF$cUx#J~{FFsLXDHYPX91+`OoR>T&DU3|jbqTH(p=4S z-(Fmzw^4{mR@7qrJw-?+N80=gDKJ3b=Af;RKWX}Mb*fK1G%s9D1xe-as=|3OlAkmQ!7>(lm-*N2c=@2?l`0$O%;Cfb{^!}zz-(KuUiXhZ*{0kpBlDaLEl^_EFl^Y3LJXt@O zDxq=K{PP$&!9}h8Mg6eHW8wIS@5<@OSlhE;a7m>q9QnC>;iwkhJA5?4d!EXFd_(wp zId{%zO*z7+Rc}%2EC)Iov4mvAOGxVv4)}f&v?{-Ue3p)3(eg}l4NZdqZ2?GE6W05I zhzA50mq}2b2x03FRl?c?zJ)~y)6Txgqo*EunxtwRV3&To96QG76>6v3 z(-(R>93w{P--@|f`$$PzvtIF=0<{VY{$g%(*R^D{;<=}BE&R%WQc|kO(5gPEE93GsQd)%n&_b+!+oGkR6%eoOpss_G=YAeuIAB{y?z^{PZD8z=}wS zz}igHo@9sGN|PV2$?$dHjfi~DvxXHBimCwu3&G2q_biB z{oVB!{5jfV)LM_mOibQl^aW4BzLdDYlV0#Tgvt(gdr!!Z=gI?XggID2xpyP-`(EyA zi*_%xYd)U&oR32B!d_ItEv6KFM|M0O5^r?eJoQR>LVvwU>XfiEIWzM10W~eU4ygDM zAS<+|H+_jJN%^qcf;Dzawl@td;*w1 z-zlt7Q0iNtV6xrrt7MxVr+&VCtnH8_^bXhqBVVhpxb9O_3Ngu$*F4fm{ejnc)$$|LcRFhi%OYmR)VQkCyQS6P_iv%0Gc7q9>TOo{iz zpMdR&Zv*;OeDxpV>s0O9=kNK4_|xYs{q7j>HEy0y%x1f#(+}^rNFrNYF0deF9~>D| zj20GI3R*S_mMRsRZVCzhb~9k%%6lry(1#jzzp)O*Wy^FbL`$(dMZ*d|?%}uvJVU&4 z6VJuhA~(8ln)J@53au%YB%LUgifLxOw+z|3{#wmK@M-1Ugx`8J<6!pq8BMq>=Qyj3 z0IaG+0I&NHvGGDTa%AL@_#diPvgjLx?U^TR6xR@8xS`H|NYsgfAaz_sd5Ks!E(0YR z-_}}>wZ3%GoQ1(MrYGI?y`q_A1Q=pM?CpPMA2$I*40T?d4b4>tJ`km=75~8+!Md zoEZcT#e~|=Z@9eFoue(<6!I;kv9AR}I{j%Yd7Idw#Y_w6L!~ngKr)lsjtYfsCEHf%` zAsw~ya!C>{L;2i&VokVad7Hm$W7Fd5ltQZ0)auw%}y56 zw|bX<53m*Martd@<0~!9!_q*%yMwW@SRO|H9ET$`so}KI>FQ-&P+WhSEtS9jV=VMN zHB7W$xvnBEFIBw|yMwYVQml`?dqPlpqGmLKqqgh{XI0I82qdil?i^}j81pJU&~8OBorHj~unMy6olJkOFXqYg$J!w>pZ>3N z>d&uY_TkSt&+Nk=Ylpb9`*HtEJN}H!?1`U44j$Qm4b a$p0pi5HNNi^N;uKUZJ~zm$@qj0Pr6STp_jq literal 0 HcmV?d00001 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()