sábado, 19 de enero de 2008

Insertar al Principio de una Lista simplemente Enlazada en C

Desarrolle un procedimiento o función "insertaPrincipio" que inserte por el principio de la lista un entero. Para crear un nodo en memoria dinámica emplee la función malloc. Si se implementa como procedimiento se debe pasar la dirección de un puntero al inicio de una lista enlazada y un entero (la lista puede estar vacía). Si se implementa como función se debe pasar un puntero al inicio de una lista enlazada y un entero (la lista puede estar vacía) y debe devolver un puntero al inicio de la lista modificada.

La estructura que se utiliza para los ejercicios de Listas simplemente enlazadas será la siguiente:

struct NodoLista {
int dato;
struct NodoLista* sig;
};

typedef struct NodoLista TNodoLista, *PNodoLista;

void insertaPrincipio (PNodoLista *p, int v){
//creamos un nodo nuevo
PNodoLista nuevo;
nuevo = (TNodoLista *) malloc (sizeof (TNodoLista));
nuevo->dato=v;
//Añadimos la lista a continuacion del nuevo nodo
nuevo->sig=*p;
//Ahora el comienzo de nuestra lista es nuevo nodo
*p=nuevo;
}

1 comentario:

Anónimo dijo...

Gracias, me ha servido bastante :)