int add_ignore (char *name) { char *realname; char *message; struct ignore_list_t *nouvelle; if (name == NULL) return (-1); if (ignore_list == NULL) ignore_list = creer_liste(); else { if(search_first_cel_with_name_in_list(name, ignore_list) != NULL) return -1; } realname = str_to_first_word(name); message = name + my_strlen (realname); message = strip_spaces(message); nouvelle = my_malloc (sizeof (struct ignore_list_t)); nouvelle->name = my_malloc_strcpy(realname); if (message != NULL && *message != '\0') nouvelle->message = my_malloc_strcpy(message); else nouvelle->message = NULL; ajout_liste (&ignore_list, nouvelle); free(realname); if (message != NULL) free(message); return 0; }
t_ptr_liste copyListADT(t_ptr_liste liste) { t_ptr_liste tmp = liste; t_ptr_liste newList = creer_vide(); while(!est_vide(tmp)) { newList = ajout_liste(newList, tmp->value); tmp = queue_liste(tmp); } return newList; }
t_ptr_liste copyList(t_ptr_liste liste) { t_ptr_liste tmp = liste; t_ptr_liste newList = NULL; while(tmp != NULL) { newList = ajout_liste(newList, tmp->value); tmp = tmp->next; } return newList; }
t_ptr_liste creationListeADT() { int valToAdd = 0; t_ptr_liste liste = creer_vide(); while(valToAdd >= 0) { printf("Taper un nombre entier : "); scanf("%d", &valToAdd); if(valToAdd >= 0) liste = ajout_liste(liste, valToAdd); } return liste; }
int add_contact (char *name) { struct contact_list_t *nouvelle; if (name == NULL) return (-1); if (contact_list == NULL) contact_list = creer_liste(); else { if(search_first_cel_with_name_in_list(name, contact_list) != NULL) return -1; } nouvelle = my_malloc (sizeof (struct contact_list_t)); nouvelle->name = my_malloc_strcpy (name); ajout_liste (&contact_list, nouvelle); return 0; }
int main() { /* Création d'une liste */ t_ptr_liste liste = creationListe(); /* Affichage d'une liste */ afficher(liste); /* Longeur de la liste */ printf("Longeur de la liste = %d\n", sizeList(liste)); /* Copie de la liste */ t_ptr_liste newList = copyList(liste); printf("New Liste = "); afficher(newList); /* Recherche d'une élément dans une liste */ printf("Pos de 4 = %d\n", findListe(liste, 4)); /* Suppression d'un élément d'un liste */ printf("Suppression de tous les 5 :\n"); liste = delElem(liste, 5); afficher(liste); /* Insertion dans une liste ordonnée */ t_ptr_liste listeOrd = creationListeOrdonne(); afficher(listeOrd); /* Inverse d'une liste */ printf("Inversion de la liste ordonnée :\n"); listeOrd = inversionListeADT(listeOrd); afficher(listeOrd); /* Vérification si c'est un palindrome */ t_ptr_liste palin = NULL; palin = ajout_liste(palin, 1); palin = ajout_liste(palin, 2); palin = ajout_liste(palin, 3); palin = ajout_liste(palin, 4); palin = ajout_liste(palin, 3); palin = ajout_liste(palin, 2); palin = ajout_liste(palin, 1); printf("Palin :\n"); afficher(palin); printf("La liste palin est un paladrome ? "); (isPalindrome(palin) ? printf("Oui\n") : printf("Non\n")); t_ptr_liste paPalin = NULL; paPalin = ajout_liste(paPalin, 1); paPalin = ajout_liste(paPalin, 2); paPalin = ajout_liste(paPalin, 3); paPalin = ajout_liste(paPalin, 4); printf("Pas Palin :\n"); afficher(paPalin); printf("La liste papalin est un paladrome ? "); (isPalindrome(paPalin) ? printf("Oui\n") : printf("Non\n")); /* Vérification que la liste est une suite de Fibonacci */ t_ptr_liste fibList = NULL; fibList = ajout_liste(fibList, 3); fibList = ajout_liste(fibList, 2); fibList = ajout_liste(fibList, 1); fibList = ajout_liste(fibList, 1); fibList = ajout_liste(fibList, 0); printf("fibList :\n"); afficher(fibList); printf("La liste fibList est une liste de Fibonacci ? "); (isFibonnacciList(fibList) ? printf("Oui\n") : printf("Non\n")); /* Fusion de deux liste triée */ printf("Fusion de listeOrd et de paPalin\n"); t_ptr_liste testFusion = fusionList(listeOrd, paPalin); afficher(testFusion); printf("Fusion de listeOrd et de paPalin (sans répétition)\n"); testFusion = fusionListNoRepeat(listeOrd, paPalin); afficher(testFusion); /* Liste des sommes préfixe */ t_ptr_liste listeSomme = NULL; listeSomme = ajout_liste(listeSomme, 3); listeSomme = ajout_liste(listeSomme, 5); listeSomme = ajout_liste(listeSomme, 4); listeSomme = ajout_liste(listeSomme, 2); listeSomme = ajout_liste(listeSomme, 1); listeSomme = sommeList(listeSomme); printf("La liste des sommes préfixe donne : \n"); afficher(listeSomme); /* Libération de la mémoire */ freeListe(listeOrd); freeListe(liste); freeListe(newList); freeListe(palin); freeListe(paPalin); freeListe(fibList); freeListe(testFusion); freeListe(listeSomme); return 0; }