Proyecto final estructura de datos
Enviado por rosy.suazo • 2 de Agosto de 2015 • Trabajos • 1.940 Palabras (8 Páginas) • 664 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;
...