* impl list copy

* select stream when printing list
This commit is contained in:
Mylloon 2022-11-19 15:50:43 +01:00
parent 3b45f4cde9
commit 573f35d246
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
2 changed files with 18 additions and 1 deletions

View file

@ -31,6 +31,9 @@ void supprime_liste(Element *element_actuel, Jeton *jeton);
/* Affiche la liste */ /* Affiche la liste */
void affiche_liste(Element *element); void affiche_liste(Element *element);
/* Renvoie une copie de la liste */
Liste *copie_liste(Liste *liste);
/* Libère la liste en mémoire */ /* Libère la liste en mémoire */
void free_liste(Liste *liste); void free_liste(Liste *liste);

View file

@ -43,10 +43,24 @@ void supprime_liste(Element *act, Jeton *data) {
void affiche_liste(Element *element) { void affiche_liste(Element *element) {
if (element) { if (element) {
affiche_liste(element->suivant); affiche_liste(element->suivant);
printf("%c%d ", element->jeton->pos_j + 'A', element->jeton->pos_i + 1); affiche_jeton(stdout, element->jeton);
printf(" ");
} }
} }
Liste *copie_liste(Liste *liste) {
Liste *res = nouvelle_liste();
Element *element = liste->premier;
while (element) {
ajoute_liste(res, element);
element = element->suivant;
}
return res;
}
void free_liste(Liste *liste) { void free_liste(Liste *liste) {
Element *actuel = liste->premier; Element *actuel = liste->premier;