* impl list copy
* select stream when printing list
This commit is contained in:
parent
3b45f4cde9
commit
573f35d246
2 changed files with 18 additions and 1 deletions
|
@ -31,6 +31,9 @@ void supprime_liste(Element *element_actuel, Jeton *jeton);
|
|||
/* Affiche la liste */
|
||||
void affiche_liste(Element *element);
|
||||
|
||||
/* Renvoie une copie de la liste */
|
||||
Liste *copie_liste(Liste *liste);
|
||||
|
||||
/* Libère la liste en mémoire */
|
||||
void free_liste(Liste *liste);
|
||||
|
||||
|
|
16
src/liste.c
16
src/liste.c
|
@ -43,10 +43,24 @@ void supprime_liste(Element *act, Jeton *data) {
|
|||
void affiche_liste(Element *element) {
|
||||
if (element) {
|
||||
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) {
|
||||
Element *actuel = liste->premier;
|
||||
|
||||
|
|
Reference in a new issue