0% ont trouvé ce document utile (0 vote)
20 vues2 pages

Liste Cerculaire

Ce document contient un code C++ pour gérer une liste circulaire, incluant des fonctions pour insérer, afficher et supprimer des éléments. Les opérations incluent l'insertion au début, à la fin, et après un élément spécifique, ainsi que la suppression d'un élément. Le programme principal affiche simplement 'Hello World!'.

Transféré par

X GAMING
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
20 vues2 pages

Liste Cerculaire

Ce document contient un code C++ pour gérer une liste circulaire, incluant des fonctions pour insérer, afficher et supprimer des éléments. Les opérations incluent l'insertion au début, à la fin, et après un élément spécifique, ainsi que la suppression d'un élément. Le programme principal affiche simplement 'Hello World!'.

Transféré par

X GAMING
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

#include <iostream>

struct noeud {
int val;
noeud* suivant;
};
typedef noeud* ListeCerculaire;
void insererListeVide(ListeCerculaire& dernier, int donnee) {
if (dernier)
return;
ListeCerculaire nouvau = new noeud;
nouvau->val = donnee;
dernier = nouvau;
nouvau->suivant = dernier;
}
void insererDebutListe(ListeCerculaire& dernier, int donnee) {
if (dernier == NULL)
insererListeVide(dernier, donnee);
ListeCerculaire nouvau = new noeud;
nouvau->val = donnee;
nouvau->suivant = dernier->suivant;
dernier->suivant = nouvau;
}
void insererFinListe(ListeCerculaire& dernier, int donnee) {
if (dernier == NULL)
insererListeVide(dernier, donnee);
ListeCerculaire nouvau = new noeud;
nouvau->val = donnee;
nouvau->suivant = dernier->suivant;
dernier->suivant = nouvau;
dernier = nouvau;
}
void insererApresElem(ListeCerculaire& dernier, int donnee, int elem) {
if (dernier == NULL)
return;
ListeCerculaire p = new noeud;
p = dernier->suivant;
do {
if (p->val == elem) {
insererDebutListe(p, donnee);
break;
}
else {
p = p->suivant;
}
} while (p != dernier->suivant);
}
void afficherListe(ListeCerculaire dernier) {
ListeCerculaire p = new noeud;
p = dernier->suivant;
if (dernier) {
do {
std::cout << p->val << std::endl;
p = p->suivant;
} while (p != dernier->suivant);
}
}
void supprimerElemListe(ListeCerculaire& dernier, int elem) {
if (dernier) {
if (dernier->suivant == dernier) {
delete dernier;
dernier = NULL;
return;
}
ListeCerculaire p = new noeud;
ListeCerculaire prec = new noeud;
p = dernier->suivant;
prec = dernier;
do {
p = p->suivant;
prec = prec->suivant;
} while ((p != dernier->suivant)&&(p->val!=elem));
if (p->val == elem) {
prec->suivant = p->suivant;
delete p;
}
}
}

int main()
{
std::cout << "Hello World!\n";
}

Vous aimerez peut-être aussi