added split lists
This commit is contained in:
parent
4b02500b66
commit
134aa8e2d0
2 changed files with 1349 additions and 0 deletions
1311
algo_avancee/listes.html
Normal file
1311
algo_avancee/listes.html
Normal file
File diff suppressed because it is too large
Load diff
|
@ -244,4 +244,42 @@ def autreCombiner(tete1, tete2):
|
||||||
return tete3
|
return tete3
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Éclater une liste en deux listes contenant les nombres pairs et impairs.
|
||||||
|
```python
|
||||||
|
def autreCombiner(tete1, tete2):
|
||||||
|
"""
|
||||||
|
: entrées
|
||||||
|
: tete1, tete2 : Maillon
|
||||||
|
: precondition :
|
||||||
|
: Les deux listes sont triées
|
||||||
|
"""
|
||||||
|
# Début
|
||||||
|
if not tete1:
|
||||||
|
return tete2
|
||||||
|
elif not tete2:
|
||||||
|
return tete1
|
||||||
|
# endif
|
||||||
|
|
||||||
|
tete3 = Maillon()
|
||||||
|
tete3.val = tete1.val
|
||||||
|
tete3.suivant = None
|
||||||
|
ptr1, ptr2, ptr3 = tete1, tete2, tete3
|
||||||
|
|
||||||
|
# On copie la liste 1 dans celle qu'on retourne.
|
||||||
|
while ptr1:
|
||||||
|
ptr3.suivant = Maillon()
|
||||||
|
ptr3.suivant.val = ptr1.val
|
||||||
|
ptr1 = ptr1.suivant
|
||||||
|
ptr3 = ptr3.suivant
|
||||||
|
# endwhile
|
||||||
|
|
||||||
|
# On utilise l'algo précédemment écrit pour insérer la deuxième.
|
||||||
|
while ptr2:
|
||||||
|
insereTrie(tete3, ptr2)
|
||||||
|
ptr2 = ptr2.suivant
|
||||||
|
# endwhile
|
||||||
|
|
||||||
|
return tete3
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue