Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/10/2015, 07:03
FiniShet
 
Fecha de Ingreso: septiembre-2013
Ubicación: Comunidad Valenciana
Mensajes: 4
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Problema con lista enlazada en c

Perdonen copie el codigo antiguo. PD: si alguien sabe como editar los temas para no volver a escribir mensaje que me diga como
en list.c


*modifique el modo de crear la lista y implemente el código para insertar y ver la lista

Código C:
Ver original
  1. #include <stdlib.h>
  2. #include "list.h"
  3.  
  4. void createList(list *lst) {
  5.     lst->first = NULL;
  6.     lst->length = 0;
  7. }
  8. int insertIntoList(list *lst,int pos, void *data){
  9.    
  10.    
  11.  
  12.   node *actual;
  13.   node *new_data;
  14.  
  15.   int i;
  16.  if((lst = (list*)malloc(sizeof(list)))==NULL)
  17.             return -1;   //creando un espacio de memoria para la lista por si no hay
  18.   if ((new_data = (node *) malloc (sizeof (node))) == NULL)
  19.     return -1;
  20.   if ((new_data->data = (char *) malloc (50 * sizeof (char)))== NULL)
  21.     return -1;
  22.  
  23.   actual = lst->first;
  24.  
  25.   for (i = 1; i < pos; ++i)
  26.     actual = actual->next;
  27.  
  28.   if (actual->next == NULL)
  29.     return -1;
  30.  
  31.   strcpy (new_data->data, data);
  32.   new_data->next = actual->next;
  33.   actual->next = new_data;
  34.   lst->length++;
  35.  
  36.   return 0;
  37.    
  38.  
  39. }
  40. void*getFromList(list *lst, int pos){
  41.     return 0;
  42. }
  43. int removeFromList(list *lst, int pos){
  44.     return 0;
  45. }
  46.  
  47. int listLength(list *lst){
  48.   node *actual;
  49.   actual = lst->first;
  50.  
  51.   while (actual != NULL){
  52.       printf ("%p - %s\n", actual, actual->data);
  53.       actual = actual->next;
  54.    
  55.    
  56. }}
  57. void destroyList(list *lst){
  58.    
  59. }

En la consola no me salta ningun error pero al ejecutarlo falla. Tambien elimine el getfromlist del main.c ya que no tiene funcion todavia