• Aucun résultat trouvé

Travaux Dirig´es d’algorithmique n

N/A
N/A
Protected

Academic year: 2022

Partager "Travaux Dirig´es d’algorithmique n"

Copied!
2
0
0

Texte intégral

(1)

Travaux Dirig´ es d’algorithmique n

o

6

Cours d’Informatique de Deuxi` eme Ann´ ee

—L2.1—

Listes chaˆın´ ees par pointeurs

D´ efinition de la structure :

Un ´ el´ ement d’une liste chaˆın´ ee, appel´ e une cellule, contient les informations que l’on souhaite manipuler et ´ egalement l’adresse de la cellule suivante. Les d´ efinitions de types suivantes mettent en œuvre la notion de “liste chaˆın´ ee d’entiers” :

typedef struct cellule {

int Valeur; /* donnee stockee : un entier. */

struct cellule * Suivant; /* pointeur sur la cellule suivante. */

} Cellule; /* definition d’un nouveau type. */

typedef Cellule * Liste; /* definition d’un nouveau type. */

L’int´ erˆ et de cette d´ efinition est qu’elle correspond ` a la d´ efinition math´ ematique, ainsi une liste est :

- soit vide ;

- soit un ´ el´ ement suivit d’un liste.

x

Exercice 1. ( ´ El´ ements d’une liste)

– ´ Ecrire une fonction qui prend en argument une liste chaˆın´ ee et retourne le nombre d’´ el´ ements qu’elle contient.

– ´ Ecrire une fonction de recherche d’un ´ el´ ement dans une liste. La fonction renvoie l’adresse de la cellule qui contient l’´ el´ ement s’il est pr´ esent et NULL sinon.

– ´ Ecrire une fonction qui prend en argument une liste chaˆın´ ee et retourne le nombre d’´ el´ ements diff´ erents qu’elle contient.

– Donner la complexi´ e des deux fonctions.

x

Exercice 2. (Affichage d’une liste)

– ´ Ecrire une fonction de nom AffListe qui affiche les ´ el´ ements de la liste chaˆın´ ee pass´ ee en param` etre. Vous donnerez une version it´ erative et une version r´ ecursive de cette fonction.

1

(2)

– ´ Ecrire une fonction de nom AffListeInv qui affiche, dans l’ordre inverse du chaˆınage, les ´ el´ ements de la liste chaˆın´ ee pass´ ee en param` etre.

Pour la liste chaˆın´ ee donn´ ee auparavant, AffListe devra produire la sortie :

4 1 7 3

et AffListeInv la sortie :

3 7 1 4.

x

Exercice 3. (Miroir)

– ´ Ecrire une fonction d’insertion d’une cellule en tˆ ete de liste – ´ Ecrire une fonction d’extraction de la cellule en tˆ ete de liste.

– ´ Ecrire une fonction qui inverse l’ordre du chaˆınage des cellules d’une liste.

x

Exercice 4. (Lib´ eration d’une liste)

Ecrire une fonction ´ LibereListe qui lib` ere tout l’espace m´ emoire occup´ e par une liste chaˆın´ ee.

x

Exercice 5. (Liste de mots)

– D´ efinir les types n´ ecessaires pour g´ erer des listes de mots.

– Parmi les fonctions pr´ ec´ edentes, qu’elles sont celles qui peuvent ˆ etre r´ eutilis´ ee sans transformations.

– ´ Ecrire la fonction d’insertion sans r´ ep´ etition pour ce type.

2

Références

Documents relatifs

Le programme devra dire si l’utilisateur a trouv´ e ou pas le nombre, si l’utilisateur ne le trouve pas, le programme devra indiquer si le nombre saisi est trop grand ou trop

Les deux op´ erations de base utilis´ ee utilis´ ees pour inverser une matrice sont l’´ echange de deux lignes et l’ajout une ligne ` a une autre.. Ecrivons

Dans un premier temps, on r´ epondra aux questions ` a l’´ ecrit puis pour v´ erifier que nos algorithmes sont bien ´ ecrits, on les programmera sur machine.. Exercice

BCPST R´ esolution de syst` emes et inversions de matrice 2016-2017 Le but de ce TP est de finir le dernier TP en ´ ecrivant l’ensemble des algorithmes sur les matrices vus dans

[r]

b) Combien de multiplications de nombres de moins de m chiffres sont n´ ecessaires au calcul de x.y ? En d´ eduire un algorithme de multiplication des entiers, et ´ evaluer

Etude du signal cr´ eneau de p´ eriode T 0 , de valeur moyenne nulle variant en 1 et -1 : (Par d´ ecalage de l’origine, il est possible de se placer dans le cas d’un signal cr´

Ecrire une fonction qui prend pour argument un tableau Note[ ] (qui contient les notes d’une classe) et n la taille du tableau (le nombre des notes) et elle retourne la moyenne de