Lomio
Esc. Prof. de Ingeniería de Computación e Informática
Algoritmos y Estructura de Datos II
Docente: MSc Jessie Leila Bravo Jaico
SEPARATA Nro 02Listas
1. Clasificación:
1.- Listas Contiguas o estáticas
2.- Listas dinámicas: puede crecer
3.- Listas enlazadas
2. Lista Dinámica:
2.1. Concepto
- Se basa enla utilización de arreglos, viene a ser un puntero sobre un arreglo.
- Pueden crecer constantemente, con un tamaño definido por la constante DELTA.
2.2. Definición
struct Alumno{
char Codigo[MAXCOD];
char Nombre[LIM];
int Edad;
int Notas[MAXNO];
float Prom;
};
struct Salon
{Alumno * Data;
int N;
int Max;
};
2.3. Operaciones:
1.- Inicializar:
void IniciaSalon (Salon &S)
{S.Data = NULL;
S.N = 0;
S.Max = 0;
}
2.- Lectura:
void Inserta (Salon &S, Alumno &A)
{
if (S.N= S.Max)
Crece (S);
S.Data[S. N] = A;
S.N++;
}
void Crece (Salon &S)
{
int i;Alumno * Temp;
Temp = new Alumno[S.Max + DELTA];
for( i = 0; i < S. N; i++)
Temp[i] = S.Data[i];
delete [] S.Data;S.Data = Temp;
S.Max += DELTA;
}
3.- Escritura:
void MostrarSalon (ref. Salon S)
{
for(int i = 0; i < S. N; i++)MostrarAlumno (S.Data [i]);
}
EJERCICIOS
/*Elaborar un programa que permita registrar los datos de N alumnos, codigo, nombre, edad, notas (5 notas), luego mostrar:...
Regístrate para leer el documento completo.