Retour vers: Copie & Concaténation de file
Eclatement d’une file en monotonie
Le probleme qui se pose est de séparer les monotonies d’une file et de les ranger en alternance sur deux files. pour plus de détails l’éclatement en monotonie, se reporter à l’article File séquentielle: Copie – Concaténation – Éclatement
func EclaterMonotonie(file: File_Entier , inout file1: File_Entier , inout file2: File_Entier) { var valeur1 : Entier = 0 var valeur2 : Entier = 0 var b : Bool = true Premier(file) Premier(file1) Premier(file2) b = true valeur1 = valeur2 while !Dernier(file) { valeur2 = Prendre(file) if Infer(valeur2,element: valeur1) { b = !b } if b { file1 = Ranger(file1, element: valeur2) } else { file2 = Ranger(file2, element: valeur2) } valeur1 = valeur2 Avancer(file) } }
Eclater une file Pair-Impair
On veut obtenir une file d’éléments à valeur paire et une file d’éléments à valeur impaire. Une fonction booléenne Pair et un choix à deux alternatives permet de ranger sur l’une ou l’autre file l’élément courant de la file directrice.
func PairImpair(file: File_Entier ,inout file1: File_Entier ,inout file2: File_Entier) { Premier(file1) Premier(file2) Premier(file) while !Dernier(file) { if Pair(Prendre(file)) { file1 = Ranger(file1, element: Prendre(file)) } else { file2 = Ranger(file2, element: Prendre(file)) } Avancer(file) } }