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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
typedef struct elt *Pelt;
typedef struct elt {
char* nam;
Pelt next;
}elt;
typedef struct liste{
Pelt first;
int size;
}*liste;
elt new_elt (char *n){
elt p;
p.nam = n;
p.next = NULL;
return p;
}
Pelt new_list(){ //fonction qui creer la liste simplement chaine
Pelt o=malloc(sizeof(elt));
o->nam = NULL;
o->next = NULL;
return o;
}
Pelt add_vid(Pelt lister, elt te){// ft qui ajout dans une liste vide
Pelt list = lister;
if(list!=NULL){
list->nam= te.nam;
list->next=NULL;
}
return list;
}
Pelt add_list_elt(Pelt list, elt e){
assert(list!=NULL);
Pelt temp = list;
Pelt t = malloc(sizeof(elt));
printf("--::%s---",e.nam);
while(temp!=NULL){
printf("-----2");
t=temp;
temp = t->next;
}
t->next->nam = e.nam; // l'erreur se trouve sur cette ligne
t->next->next = NULL;
return t;
}
Pelt add(Pelt list, elt e){
Pelt p =malloc(sizeof(elt));
if(list==NULL){
p=add_vid(list,e);
} else {
p=add_list_elt(list,e);
}
return p;
}
void affich_list(Pelt r){
Pelt e = malloc(sizeof(elt));
e = r;
while(e!=NULL){
printf("conten:%s\n",e->nam);
printf(" ////////// ");
e=e->next;
}
if(e==NULL){
printf("\n fin de la liste \n");
}
}
int main(void) {
char* msg[]= {"bj","gtuio","df5f45","re","rt","ed","fr"};
//elt n =new_elt(msg[2]);
elt p =new_elt(msg[1]);
Pelt l = new_list();
printf(" -----main 0 ");
//add_vid(l,n);
printf(" -----main 1 ");
add_list_elt(l,p);
/**int a = 0;
while(a<7){
Pelt j=new_elt(msg[a]);
printf("\nll:: %s\n",j->nam);
add_elt(l,j);
affich_list(l);
free(j);
a++;
}**/
//printf("\n df::%s\n",msg[2]);
affich_list(l);
/**liste m =init_tete(p);
printf("affiche de la tete et la posit \n");
printf("%s pos: %d",m.first->nam,m.size);**/
printf("-----");
return EXIT_SUCCESS;
} |
Partager