Proyecto final estructura de datos
Enviado por rosy.suazo • 2 de Agosto de 2015 • Trabajo • 1.940 Palabras (8 Páginas) • 712 Visitas
ESTRUCTURA DE DATOS
ROSA SUAZO AGUILERA
ESTRUCTURA DE DATOS
Instituto IACC
23/03/2014
1.-
Contador= 0
For i=1 to n do
For j=1 to i-1 do
If a[i]<a[j] then
Contador= contador + 1
Devolver contador
Devolviendo el valor del contador obtendremos el promedio de veces que se cambiaron los números de posición, por tal razón dirá cuántas veces se ejecutó la secuencia contador=contador+1
El algoritmo a utilizar es de selección ya que recorre todo el arreglo y mientras encuentra un número menor los deja en la primera posición para así ordenarlo de la forma ascendente.
2. Listas Desarrolle un algoritmo de búsqueda para un elemento de una lista de números enteros, cuyo tamaño es n. El algoritmo debe permitir eliminar todas las ocurrencias de ese elemento en dicha lista.
PROCEDURE suprime(x: tipo _elemento: Var L: LISTA);
Var
P: posición;
S: posición siguiente
Inicio
P:= primero
While p< > FIN (L) do;
S:=siguiente (p,l)
If RECUPERA (p, l) = x then;
SUPRIME (p, l)
P:= S
end ;
end;{ SUPRIME };
3. Pilas Suponga la existencia de un estacionamiento en su ciudad, donde hay lugar para 9 vehículos. Desarrolle un algoritmo o programa que muestre el manejo de este estacionamiento, considerando las siguientes limitaciones y condiciones: a. Los vehículos proporcionan la siguiente información: Placas (6 dígitos), Marca, Modelo, Año, Nombre del dueño. b. Al llegar un vehículo se acepta solamente si hay un lugar disponible. c. En cualquier momento se puede sacar algún vehículo del estacionamiento, regresando los vehículos en el orden en que estaban.
Funciones a utilizar en el programa:
- Declaración:
struct tvehiculo
{
Varchar placa[6];
Varchar marca[20];
Varchar modelo [20];
int año;
varchar nombre_dueño[100];
};
struct tpila
{
int cima;
int elementos[MAX_PILA];
struct tvehiculo *sig;
};
Nota: MAX_PILA =9
-Nuevo vehículo:
Void nuevo_vehiculo(struct tvehiculo nuevo; Varchar placa;Varchar marca;
Varchar modelo;int año;varchar nombre_dueño;)
{
Nuevo.placa=placa;
Nuevo.marca=marca;
Nuevo.modelo=modelo;
Nuevo.año=año;
Nuevo.nombre_dueño=nombre_dueño;
}
- Procedimiento de Creación:
void crear(struct tpila *pila)
{
pila->cima = -1;
}
- Función que devuelve verdadero si la pila está vacía:
int vacia(struct tpila *pila)
{
return (pila->cima == -1);
}
- Función que devuelve verdadero si la pila está llena:
int llena(struct tpila *pila)
{
return (pila->cima == MAX_PILA);
}
- Procedimiento de apilado:
void apilar(struct tpila *pila, struct tvehiculo *vehiculo)
{
pila->elementos[++pila->cima] = *vehiculo;
}
- Procedimiento de desapilado:
void desapilar(struct tpila *pila, struct tvehiculo *vehiculo)
{
*vehiculo = pila->elementos[pila->cima--];
}
Programa:
#include <stdio.h>
int main(void)
{
struct tpila pila;
struct tvehiculo vehiculo;
printf(ingrese datos del vehiculo);
scanf(%s,placa); scanf(%s,marca); scanf(%s,modelo); scanf(%d,año);
scanf(%s,nombre_dueño);
nuevo_vehiculo(&vehiculo; placa; marca; modelo; año;nombre_dueño;)
crear(&pila);
if (vacia(&pila)) printf("\nPila vacia.");
if (llena(&pila)) printf("\nPila llena.");
apilar(&pila, &vehiculo);
desapilar(&pila, &vehiculo);
return 0;
}
4. Colas Existe un segundo estacionamiento en su ciudad que tiene un sólo carril y que aloja un máximo de 10 vehículos. Los autos llegan por el extremo sur y salen por el extremo norte. Si llega un cliente para recoger su auto que no está en el extremo norte, se sacan todos los automóviles de ese lado, se retira el auto y los otros coches se restablecen en el mismo orden en que estaban. Cada vez que sale un auto, todos los autos del lado sur se mueven hacia adelante un lugar para que siempre todos los espacios vacíos estén en el sector sur. Escriba un programa o algoritmo que permita controlar el funcionamiento del estacionamiento. Suponga que los autos llegan y salen en el mismo orden especificado en la entrada. Se debe imprimir por pantalla: a. Un mensaje cada vez que entra o sale un auto. b. Cuando llega un auto, un mensaje indicando si hay espacio o no para él en el estacionamiento. c. Cuando sale un auto, un mensaje indicando que queda un espacio disponible en el estacionamiento.
#include <stdio.h>
#define MAX_COLA 10
int main(void)
{
struct tcola cola;
int elem;
crear(&cola);
if (vacia(&cola)) printf("no hay espacio disponble .");
if (llena(&cola)) printf(" si hay espacio disponible ");
encolar(&cola, 1);
desencolar(&cola, &elem);
return 0;
}
5. Conjuntos Sean A= {1, 2, 3, 7, 8} y B= {3, 4, 5, 7, 9}; implemente un algoritmo que permita mostrar la ejecución y los resultados de las siguientes operaciones, suponiendo una representación con listas enlazadas. a. Unión (A, B, C) b. Diferencia (A, B, C)
Unión:
A partir de los conjuntos A y B se crea un nuevo conjunto C. Se supone que el conjunto C no ha sido inicializado antes. En cada paso se añade siempre un nuevo elemento. Por último se comprueba que no queden
...