Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
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;  
}
Ejemplo n.º 3
0
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;   
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
0
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;
}
Ejemplo n.º 6
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;
}