Seminario de estructura de datos I
Enviado por Serrano Soltero Bryan Noé • 21 de Agosto de 2022 • Resumen • 5.683 Palabras (23 Páginas) • 75 Visitas
[pic 1] | UNIVERSIDAD DE GUADALAJARA CUCEI | [pic 2] |
Portada
INGENIERO EN INFORMÁTICA
Seminario de estructura de datos I
SECCIÓN D08
CLAVE DE LA MATERIA: I5887 NRC: 59636
NOMBRE DEL ALUMNO: BRYAN NOÉ SERRANO SOLTERO
NOMBRE DEL PROFESOR: OSCAR DIDIER SANCHEZ SANCHEZ
Contenido
Clase C++ (protección de información, encapsulamiento, herencia), (Nombre v, alumno, punto) 3
class Lista (inicializa, vacia, llena, agregar, eliminar) 4
class (busqueda binaria, lineal, burbuja) 12
burbuja mejorado, shell, inserción 15
seleccion, pila 16
Mezcla 17
Quicksort, apuntadores 19
Class Nodo, List_dl 23
imprimir, agregar 24
busqueda, eliminar 25
Clase C++ (protección de información, encapsulamiento, herencia), (Nombre v, alumno, punto)
Una clase es en general un modelo, receta o plantilla que define el estado y comportamiento de cierto tipo de objetos. Una clase puede pensarse como una colección de variables (atributos o propiedades) y funciones (métodos) que permiten representar un conjunto de datos y especificar las operaciones o procedimientos que permiten manipular tales datos. Se puede inclusive entender una clase como un tipo de dato personalizado, similar a las estructuras (structs), donde cada programador define los miembros que va a tener su tipo de dato. De hecho, los tipos de dato nativos de C++ son en realidad clases.
EJEMPLO:
class Empleado {
private:
char* m_nombre;
char* m_departamento;
char* m_posicion;
long m_salario;
public:
void ImprimirInfo();
void SetNombre( char* nombre ) { m_nombre = nombre }
void SetDepartamento( char * departamento) { m_departamento = departamento }
void SetPosicion ( char* posicion ) { m_posicion = posicion }
void SetSalario ( long salario ) { m_salario = salario }
const char* GetNombre( ){ return m_nombre }
const char* GetDepartamento( ){ return m_departamento }
const char* GetPosicion( ){ return m_posicion }
const char* GetSalario( ){ return m_salario }
};
class Lista (inicializa, vacia, llena, agregar, eliminar)
Las listas (Lists) de C++ son secuencias de elementos almacenados en una lista encadenada. Comparadas con los vectores, estas permiten una mayor rapidez de inserción y borrado, pero una menor velocidad de acceso aleatorio. La plantilla list de C++ posee los métodos necesarios para insertar y borrar elementos al inicio, al final o en un punto específico de la lista. En orden de poder usar la plantilla list en nuestros programas debemos incluir la directiva (#include<list>) al inicio del código fuente.
EJEMPLO:
#include <iostream>
#include <stdlib.h>
using namespace std;
struct nodo{
int nro;
struct nodo *sgte;
};
typedef struct nodo *Tlista;
void insertarInicio(Tlista &lista, int valor)
{
Tlista q;
q = new(struct nodo);
q->nro = valor;
q->sgte = lista;
lista = q;
}
void insertarFinal(Tlista &lista, int valor)
{
Tlista t, q = new(struct nodo);
q->nro = valor;
q->sgte = NULL;
if(lista==NULL)
{
lista = q;
}
else
{
t = lista;
while(t->sgte!=NULL)
{
t = t->sgte;
}
t->sgte = q;
}
}
int insertarAntesDespues()
{
int _op, band;
cout<<endl;
cout<<"\t 1. Antes de la posicion "<<endl;
cout<<"\t 2. Despues de la posicion "<<endl;
cout<<"\n\t Opcion : "; cin>> _op;
if(_op==1)
band = -1;
else
band = 0;
return band;
}
void insertarElemento(Tlista &lista, int valor, int pos)
{
Tlista q, t;
int i;
q = new(struct nodo);
q->nro = valor;
if(pos==1)
{
q->sgte = lista;
lista = q;
}
else
{
int x = insertarAntesDespues();
t = lista;
for(i=1; t!=NULL; i++)
{
if(i==pos+x)
{
q->sgte = t->sgte;
t->sgte = q;
return;
}
t = t->sgte;
}
}
cout<<" Error...Posicion no encontrada..!"<<endl;
}
void buscarElemento(Tlista lista, int valor)
{
Tlista q = lista;
int i = 1, band = 0;
while(q!=NULL)
{
if(q->nro==valor)
{
cout<<endl<<" Encontrada en posicion "<< i <<endl;
...