Bonsoir je bloque actuellement sur un programme sur les listes chainées si quelqu'un pourrait m'aider sa serait très sympa merci
c'est la question 3, le programme supprime toute les répétitions alors que je suis censé supprimer seulement les élément consécutifs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 #include <iostream> #include <fstream> #include <string> #include <stdio.h> #include <stdlib.h> #include <assert.h> #include "progListeSC.h" using namespace std; // DERNIERLSC ET ESTTRIEELSC // Res : Renvoie l'adresse de la derniere cellule de la liste non vide L ListeSC dernierLSC(ListeSC L){ assert(L != NULL); return L; } // Res : Renvoie 1 si L est une ListeSC triee, 0 sinon bool estTrieeLSC(ListeSC L){ return true; } // OTERREPETITION // Res : Supprime de la ListeSC L tous les elements consecutifs egaux // Opere en modifiant le chainage de la ListeSC L // version iterative void oterRepetitionLSC(ListeSC L){ ListeSC LSR=NULL; // pour liste sans répétitions ListeSC parcourtL = L; // pour parcourir L while (parcourtL != NULL){ ListeSC parcourtLSR = LSR; bool trouve=false; while (parcourtLSR != NULL and !trouve){ if (parcourtL->info == parcourtLSR-> info) trouve=true; else parcourtLSR = parcourtLSR->succ; } if(parcourtLSR == NULL) LSR=creerLSC(parcourtL->info,LSR); parcourtL = parcourtL->succ; } *L=*LSR; return; } // Res : Supprime de la ListeSC L tous les elements consecutifs egaux // Opere en modifiant le chainage de la ListeSC L // version recursive void oterRepetitionLSCR(ListeSC L){ return; } // CONCATENATION DE 2 LISTES // Res : Modifie la liste L1 en la concatenant avec la liste l2 // Opere en modifiant le chainage de la listeSC L1 // Version utilisant la fonction dernierLSC void concatLSC(ListeSC& L1,ListeSC L2){ return; } // Res : Renvoie la ListeSC obtenue par concatenation des ListeSC L1 et L2 // Opere en recopiant les elements des 2 listeSC L1 et L2 // complexite : ??? ListeSC concatLSCCopie(ListeSC L1,ListeSC L2){ if(L1 == NULL){ return L2;} if(L2 == NULL){ return L1;} concatLSCCopie(lireLSC(insererFinLSC(L1,L2->info)),L2->succ); return NULL; }
Partager