ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Estructura De Datos Pilas


Enviado por   •  1 de Diciembre de 2013  •  712 Palabras (3 Páginas)  •  1.061 Visitas

Página 1 de 3

Estructura de Datos Pilas

Alejandra Ureta Madrid

Estructura de Datos

Instituto IACC

Domingo 01 de Diciembre de 2013

Desarrollo

1. Revise la siguiente implementación interpretando línea por línea el código expuesto. Explique claramente cuál es su función e indique si su construcción es correcta o no. En cualquier caso, justifique su respuesta.

La función definida realiza lo siguiente:

- void apilar(struct tpila *pila, int elem) {

Se define la function “apilar” con los parámetros de la estructura de una pila y el tipo de elemento “elem”.

- struct tpila *nuevo;

Se declara una lista sin elementos y con cabecera “nuevo”.

- If((nuevo = (struct tpila *) malloc(sizeof(struct tpila))) == NULL)

generar_error();

Se declara una condición a través del “if”, si se cumple que “nuevo” es la cabecera de la estructura de la pila y este es igual a una “NULL”, es decir, que la pila sea vacía y con cabecera “nuevo”, entonces generará un error a través de “generar_error();”

-else {

nuevo -> clave = elem;

nuevo -> sig = pila -> sig;

pila -> sig = nuevo;

}

}

Si no se cumple la condición del “if”, entonces se hará lo que sigue en “else”, en esta parte de la función se asigna a la cabecera el elemento “elem” (nuevo -> clave = elem), posterior a esto se asigna a la cabecera siguiente posición “sig” de la pila a la cabecera “nuevo” (nuevo -> sig = pila -> sig) y por último se reasigna la posición siguiente de la pila “sig” a “nuevo”. Con esto se da fin a la función.

El objetivo de esta función es apilar en una pila elementos definidos, pero la construcción de ésta función no es correcta, ya que se necesita definir en la pila la cabecera “nuevo”, de esta manera faltaría esta parte en el código “nuevo = (struct tpila *) malloc(sizeof(struct tpila));” y se tendría que eliminar la condicionante del “if” porque siempre se va a cumplir por el hecho de ser una pila ficticia con cabecera “nuevo”.

2. Suponga que existen dos pilas de datos. La primera contiene los números enteros impares entre 1 y 100 y,

...

Descargar como (para miembros actualizados)  txt (4.3 Kb)  
Leer 2 páginas más »
Disponible sólo en Clubensayos.com