Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • lifap6/tp-listes-etu
  • p2205540/tp-listes-etu
  • p1716451/tp-listes-etu
  • p2018814/apctp
  • p2308474/tp-listes-etu
  • p1801979/tp-listes-etu
  • p2310736/tp-listes-etu
  • p2006656/tp-listes-etu
  • p1608911/tp-listes-etu
  • lifapc3/tp1
  • p2210147/tp-listes-etu
  • p2105803/lifapc-tp-listes-etu
  • p2002046/tp-listes-etu
  • p1520557/tp-listes-etu
  • p2200355/tp-listes-etu
  • p2210217/tp-listes-etu
  • p2407232/tp-listes-etu
  • p1805309/tp-listes-etu
  • JEAN-CLAUDE.IEHL/tp-listes-etu
  • nicolas.louvet/tp-listes-etu
  • p2210857/tp-listes-etu
  • p1803588/tp-listes-etu
  • p2310921/tp-listes-etu
  • p2409710/tp-listes-etu
  • p1706748/tp-listes-etu
  • p1804713/tp-listes-etu
  • p1805738/tp-listes-etu
  • p1805563/tp-listes-etu
  • p1914050/tp-listes-etu
  • p1713323/tp-listes-etu
  • p1706619/tp-listes-etu
  • p2211882/tp-listes-etu
  • p2021420/tp-listes-etu-COM
  • p1923495/tp-listes-etu
  • p2102825/tp-listes-etu
  • p2100037/TP1
  • p2105932/tp-listes-etu
  • p2003011/tp-listes-etu
  • p2102216/tp-listes-etu
  • p2103016/tp-listes-etu
  • joachim.cendrier1/tp-listes-etu
41 results
Show changes
Commits on Source (1)
cellule.o: cellule.cpp cellule.hpp
......@@ -6,8 +6,8 @@ class Cellule {
public:
/* votre code ici */
/* valeur : entier stocke dans la cellule
* suivante : adresse ce la cellule suivante
int valeur; /* valeur : entier stocke dans la cellule */
Cellule* cellule_suivante; /* cellule_suivante : adresse ce la cellule suivante
*/
} ;
......
File added
......@@ -11,6 +11,7 @@
*/
/* Q1 : construction d'une liste vide */
/* - definir les variables membres de Cellule et Liste
* - initialiser correctement ces variables membres
......@@ -18,16 +19,16 @@
Liste::Liste() {
/* votre code ici */
std::cout << "construction d'une liste a l'adresse " << this << std::endl ;
this->nb_cell = 0;
this->premiere = nullptr;
std::cout << "construction d'une liste a l'adresse " << this << std::endl ;
}
/* Q2 : ajout, suppression et consultation en tete */
/* simple acces a la variable membre */
Cellule* Liste::tete() {
/* votre code ici */
return nullptr ;
return this->premiere;
}
/* - fabriquer une nouvelle cellule contenant la valeur
......@@ -35,6 +36,12 @@ Cellule* Liste::tete() {
*/
void Liste::ajouter_en_tete(int valeur) {
/* votre code ici */
Cellule *cel1 = new Cellule;
cel1->valeur = valeur;
cel1->cellule_suivante = this->premiere;
this->premiere = cel1;
this->nb_cell++;
}
/* - recuperer l'adresse de la nouvelle tete
......@@ -42,7 +49,10 @@ void Liste::ajouter_en_tete(int valeur) {
* - mettre a jour la tete avec la bonne adresse
*/
void Liste::supprimer_en_tete() {
/* votre code ici */
Cellule *ancienne_cellule = premiere;
premiere = premiere->cellule_suivante;
delete ancienne_cellule;
this->nb_cell--;
}
......@@ -54,8 +64,7 @@ void Liste::supprimer_en_tete() {
* - la methode renvoie simplement la valeur stockee
*/
int Liste::taille() {
/* votre code ici */
return 0 ;
return this->nb_cell;
}
/* Q4 : affichage de tous les elements */
......@@ -64,7 +73,12 @@ int Liste::taille() {
* - pour chaque cellule afficher sa valeur
*/
void Liste::afficher() {
/* votre code ici */
Cellule *cell = premiere;
while (cell != nullptr)
{
std::cout<<cell->valeur<<std::endl;
cell=cell->cellule_suivante;
}
}
/* Q5 : destruction */
......@@ -73,7 +87,14 @@ void Liste::afficher() {
* sous linux, valgrind est disponible
*/
Liste::~Liste() {
/* votre code ici */
Cellule *cell = premiere;
while (cell != nullptr)
{
Cellule *cellule_suivante = cell->cellule_suivante;
delete cell;
cell= cellule_suivante;
}
std::cout << "destruction de la liste a l'adresse " << this << std::endl ;
}
......@@ -81,8 +102,13 @@ Liste::~Liste() {
/* parcourir la liste pour trouver l'adresse de la derniere cellule */
Cellule* Liste::queue() {
/* votre code ici */
return nullptr ;
Cellule *cell = premiere;
while (cell != nullptr)
{
Cellule *cellule_suivante = cell->cellule_suivante;
cell= cellule_suivante;
}
return cell;
}
/* - creer une nouvelle cellule avec la valeur
......@@ -90,7 +116,10 @@ Cellule* Liste::queue() {
* - chainer la nouvelle cellule apres la derniere cellule
*/
void Liste::ajouter_en_queue(int valeur) {
/* votre code ici */
Cellule *cell = new Cellule;
cell->valeur = valeur;
Cellule *cell_queue = queue();
cell_queue-> cellule_suivante = cell;
}
/* Q7 : recherche d'une valeur dans la liste */
......
liste.o: liste.cpp liste.hpp cellule.hpp
......@@ -9,10 +9,13 @@ class Liste {
/* Q1 : construction d'une liste vide */
Cellule* premiere;
int nb_cell;
/* - definir les variables membres de Cellule et Liste
* - initialiser correctement ces variables membres
*/
Liste() ;
Liste();
/* Q2 : ajout, suppression et consultation en tete */
......
File added
File added
......@@ -6,7 +6,7 @@
int main() {
//Q1
//#define TEST_CONSTRUCTION_VIDE
#define TEST_CONSTRUCTION_VIDE
#ifdef TEST_CONSTRUCTION_VIDE
{
//du bruit sur la pile
......@@ -22,7 +22,7 @@ int main() {
#endif
//Q2
//#define TEST_AJOUT_SUPPRESSION_EN_TETE
#define TEST_AJOUT_SUPPRESSION_EN_TETE
#ifdef TEST_AJOUT_SUPPRESSION_EN_TETE
{
Liste l1 ;
......@@ -47,7 +47,7 @@ int main() {
#endif
//Q3
//#define TEST_TAILLE
#define TEST_TAILLE
#ifdef TEST_TAILLE
{
Liste l1 ;
......@@ -73,7 +73,7 @@ int main() {
#endif
//Q4
//#define TEST_AFFICHAGE
#define TEST_AFFICHAGE
#ifdef TEST_AFFICHAGE
{
Liste l1 ;
......@@ -88,7 +88,7 @@ int main() {
#endif
//Q6
//#define TEST_AJOUT_EN_QUEUE
#define TEST_AJOUT_EN_QUEUE
#ifdef TEST_AJOUT_EN_QUEUE
{
Liste l1 ;
......
test_liste.o: test_liste.cpp liste.hpp cellule.hpp
File added