コード例 #1
0
int main(void)
{
  List *list;

  list = NULL;
  if (add_end_cl_list(&list, "Holberton") == 1 ||
      add_end_cl_list(&list, "School") == 1 ||
      add_end_cl_list(&list, "Full") == 1 ||
      add_end_cl_list(&list, "Stack") == 1 ||
      add_end_cl_list(&list, "Engineer") == 1)
    return (1);
  printf("FIRST EXAMPLE:\n");
  print_cl_list(list);
  free_dl_list(list);
  list = NULL;
  if (add_begin_cl_list(&list, "Holberton") == 1 ||
      add_begin_cl_list(&list, "School") == 1 ||
      add_begin_cl_list(&list, "Full") == 1 ||
      add_begin_cl_list(&list, "Stack") == 1 ||
      add_begin_cl_list(&list, "Engineer") == 1)
    return (1);
  printf("SECOND EXAMPLE:\n");
  print_cl_list(list);
  free_dl_list(list);
  return (0);
}
コード例 #2
0
int main(void)
{
  List *list;

  list = NULL;
  printf("The address stored in list is %p.\n", (void *)list);
  if (add_end_cl_list(&list, "Holberton") == 1 ||
      add_end_cl_list(&list, "School") == 1 ||
      add_end_cl_list(&list, "Full") == 1 ||
      add_end_cl_list(&list, "Stack") == 1 ||
      add_end_cl_list(&list, "Engineer") == 1)
    return (1);
  
  printf("The address stored in list is now %p.\n", (void *)list);

  printf("The nodes in the list contain the strings:\n");
  printf("%s\n", list->str);
  printf("%s\n", list->next->str);
  printf("%s\n", list->next->next->str);
  printf("%s\n", list->next->next->next->str);
  printf("%s\n", list->next->next->next->next->str);  

  free_cl_list(list);
  printf("Ran free_dl_list.\n");
  printf("list contains the address %p\n", (void *)list);
  return (0);
}
/*converts an array to simple circular List*/
List *array_to_cl_list(char **array) {
  List *list;
  int i;
  list = NULL;
  for (i=0 ; array[i] ; i++) {
    if ( (add_end_cl_list(&list, array[i]) ) == 1 ) {
      return NULL;
    }
  }
  return list;
}
/* array_to_cl_list() accepts an array of strings and stores
   each string into a node in a linked list */
List *array_to_cl_list(char **array)
{
  List *list;

  list = NULL;
  while (*array != NULL) {
    if(add_end_cl_list(&list, *array)) {
      return NULL;
    }
    array++;
  }

  return list;
}