solving exercise 4
This commit is contained in:
parent
f02a95659e
commit
cd1b19fd4c
1 changed files with 41 additions and 1 deletions
|
@ -97,7 +97,7 @@ def afficher_file(f):
|
||||||
### Exercice 2
|
### Exercice 2
|
||||||
Écrire une fonction récursive de recherche dans une file non triée.
|
Écrire une fonction récursive de recherche dans une file non triée.
|
||||||
|
|
||||||
#### 1ère solution
|
#### Solution
|
||||||
Ici la file est modifiée, tous les éléments précédant l'élément recherché sont supprimés.
|
Ici la file est modifiée, tous les éléments précédant l'élément recherché sont supprimés.
|
||||||
```python
|
```python
|
||||||
def rech_recursive(f, elt):
|
def rech_recursive(f, elt):
|
||||||
|
@ -108,5 +108,45 @@ def rech_recursive(f, elt):
|
||||||
|
|
||||||
retirer_debut_file(f)
|
retirer_debut_file(f)
|
||||||
return(rech_recursive(f, elt))
|
return(rech_recursive(f, elt))
|
||||||
|
```
|
||||||
|
|
||||||
|
### Exercice 3
|
||||||
|
Écrire une fonction qui inverse une file.
|
||||||
|
|
||||||
|
#### Solution
|
||||||
|
```python
|
||||||
|
def inverse(f):
|
||||||
|
p = creer_pile()
|
||||||
|
while !file_vide(f):
|
||||||
|
empile(p, debut_file(f))
|
||||||
|
retirer_debut_file(f)
|
||||||
|
|
||||||
|
while !pile_vide(p):
|
||||||
|
ajouter_fin_file(f, sommet(p))
|
||||||
|
depile(p)
|
||||||
|
|
||||||
|
return(f)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Exercice 4
|
||||||
|
Soit une file d'entiers. Écrire un algorithme qui réordonne la file de sorte que les entiers pairs soient en début de file.
|
||||||
|
|
||||||
|
#### Solution
|
||||||
|
```python
|
||||||
|
def tri_pairs(f):
|
||||||
|
f_pairs = creer_file()
|
||||||
|
f_impairs = creer_file()
|
||||||
|
|
||||||
|
while !file_vide(f):
|
||||||
|
debut = debut_file(f)
|
||||||
|
if debut % 2 == 0:
|
||||||
|
ajouter_fin_file(f_pairs, debut)
|
||||||
|
retirer_debut_file(f)
|
||||||
|
else:
|
||||||
|
ajouter_fin_file(f,_impairs debut)
|
||||||
|
retirer_debut_file(f)
|
||||||
|
|
||||||
|
while !file_vide(f_impairs):
|
||||||
|
ajouter_fin_file(f_pairs, debut_file(f_impairs))
|
||||||
|
retirer_fin_file(f_impairs)
|
||||||
```
|
```
|
Loading…
Reference in a new issue