[Liste] Supprimer le N-ieme élément

Une procédure qui permet de supprimer le N-ieme élément dans une liste

Procédure suppNieme(a: liste, n: entier);
	Si(n == 1) Alors
		a := nil;
	Sinon Si(n <= length(a)) Alors
		cpt := 1;
		b := a;

		TantQue(cpt <= (n - 1)) Faire
			b := b^suivant;
			cpt++;
		FinTantQue

		q := b^suivant;
		b^suivant := q^suivant;
		dispose(q);
	Sinon
		Ecrire("Erreur: La supprision est impossible...");
Fin,

Ou bien une solution récursive:

Procédure suppNieme(var a: liste, n: entier);
Debut
	Si(n == 1) Alors
		b := a^suivant;
		dispose(a);
		a := b;
	Sinon
		b := a^suivant;
		suppNieme(b, n - 1);
		a^suivant := b;
	FinSi
Fin,

Laisser des commentaires:

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :