Pour les exercices sur les listes chaînées, vous utiliserez cette structure :
- Code:
-
typedef struct s_list
{
void *data;
struct s_list *next;
} t_list;
01)Ecrire une fonction qui renvoie le nombre d'elements dans la liste.
02)Ecrire la fonction qui inverse l'ordre des elements de la liste. Vous devrez manipulez les pointeurs pour faire cela, et non créer une nouvelle liste
03)Ecrire une fonction qui crée une nouvelle liste en mettant les nouveaux éléments, non plus au début, mais à la fin.
04)Ecrire une fonction qui applique une fonction donnee en parametre à l'information contenue dans chaque maillon de la liste.
05)Ecrire une fonction qui applique une fonction donnee en parametre a l'information contenue dans certains maillons de la liste.
06)Ecrire une fonction qui renvoie la donnee du premier maillon "egale" a la donnee de reference.
07)Ecrire une fonction qui renvoie l'adresse du premier maillon dont la donnee est "egale" a la donnee de reference.
08)Ecrire une fonction qui efface de la liste tous les elements dont la donnee est "egale" a la donnee de reference.
09)Ecrire une fonction qui met les elements d'une liste (liste2) dans une autre liste (liste1). Vous devrez faire cela, sans créer de nouveaux éléments.
10)Ecrire une fonction qui trie par ordre croissant le contenu de la liste, en comparant deux maillons grace a une fonction de comparaison de donnees des deux maillons.
11)Ecrire une fonction qui cree un nouvel element, et l'insere dans une liste triee de sorte que la liste reste triee par ordre croissant.
12)Ecrire une fonction qui integre les elements d'une liste triee (begin2) dans une autre liste triee (begin1), de sorte que la liste (begin1) reste triee par ordre croissant.