04-03-2015, 17:01
Hola!!! Estoy teniendo grandes problemas para resolver los siguientes ejercicios, si alguien tiene alguno hecho, le agradeceria mucho si me lo puede pasar, a ver si me puedo orientar un poco jaja
8.8: Utilizando la estructura dNode del ejercicio anterior, implemente las siguientes funciones:
void d_insert ( struct dNode * List, void * Data);
void d_delete( struct dNode * Node );
La función d_insert agrega un elemento de Datos a la Lista indicada. Retorna el puntero al elemento resultante. La función d_delete elimina el Nodo indicado.
Nota: No olvide liberar toda la memoria reservada para ese nodo.
struct dNode
{
void *Datos;
struct dNode *psig;
struct dNode *pant;
};
8.22: Realizar una función s_copy que reciba un puntero a una lista simplemente enlazada, y realice una copia de la misma en memoria. La copia no debe tener nada en común con la lista original, salvo los datos, por lo tanto debe crear nuevos punteros, nodos y espacios de memoria. Al finalizar, devuelve el puntero a la nueva lista. Puede hacer uso de las
funciones ya desarrolladas que crea convenientes.
8.24: Implementar las siguientes funciones que deben unir dos listas simplemente o doblemente enlazadas, respectivamente.
void s_join( struct sNode *, struct sNode *);
void d_join( struct dNode *, struct dNode *);
8.25: Implementar las siguientes funciones que deben separar una lista (simplemente o doblemente enlazada, respectivamente) en dos listas distintas que comenzarán a partir de cada uno de los elementos pasados como parámetros de la función.
void s_split( struct sNode *, struct sNode *);
void d_split( struct dNode *, struct dNode *);
Son de la guia 2011.v4, gracias!!
P.D: Cambie los ejercicios, porque los otros ya los pude resolver por otro lado jaja
8.8: Utilizando la estructura dNode del ejercicio anterior, implemente las siguientes funciones:
void d_insert ( struct dNode * List, void * Data);
void d_delete( struct dNode * Node );
La función d_insert agrega un elemento de Datos a la Lista indicada. Retorna el puntero al elemento resultante. La función d_delete elimina el Nodo indicado.
Nota: No olvide liberar toda la memoria reservada para ese nodo.
struct dNode
{
void *Datos;
struct dNode *psig;
struct dNode *pant;
};
8.22: Realizar una función s_copy que reciba un puntero a una lista simplemente enlazada, y realice una copia de la misma en memoria. La copia no debe tener nada en común con la lista original, salvo los datos, por lo tanto debe crear nuevos punteros, nodos y espacios de memoria. Al finalizar, devuelve el puntero a la nueva lista. Puede hacer uso de las
funciones ya desarrolladas que crea convenientes.
8.24: Implementar las siguientes funciones que deben unir dos listas simplemente o doblemente enlazadas, respectivamente.
void s_join( struct sNode *, struct sNode *);
void d_join( struct dNode *, struct dNode *);
8.25: Implementar las siguientes funciones que deben separar una lista (simplemente o doblemente enlazada, respectivamente) en dos listas distintas que comenzarán a partir de cada uno de los elementos pasados como parámetros de la función.
void s_split( struct sNode *, struct sNode *);
void d_split( struct dNode *, struct dNode *);
Son de la guia 2011.v4, gracias!!
P.D: Cambie los ejercicios, porque los otros ya los pude resolver por otro lado jaja