* 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 */
|
/* 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);
|
||||||
|
|
||||||
|
|
16
src/liste.c
16
src/liste.c
|
@ -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;
|
||||||
|
|
||||||
|
|
Reference in a new issue