1-OPERACIONES-CON-LISTAS-SIMPLES.doc

8
ESTRUCTURA DE DATOS Página 1 OPERACIONES CON LISTAS SIMPLES PROGRAMA PARA DESARROLLAR OPERACIONES CON LISTAS SIMPLES 1. DISEÑO DEL FORMULARIO 2. VENTANA DE PROPIEDADES OBJETO PROPIEDAD VALOR ListBox1 textBox1 textBox2 buttom1 buttom2 buttom3 Name Text Name Text Name Text Name Text Name Text lstLISTA <En Blanco> textELEMENTO <En Blanco> textNUEVOELEMENTO &AGREGAR btnAGREGAR &EDITAR btnEDITAR &ELIMINAR Dr. Luis Boy Chavil

Transcript of 1-OPERACIONES-CON-LISTAS-SIMPLES.doc

ESTRUCTURA DE DATOS

ESTRUCTURA DE DATOS Pgina 7

OPERACIONES CON LISTAS SIMPLESPROGRAMA PARA DESARROLLAR OPERACIONES CON LISTAS SIMPLES1. DISEO DEL FORMULARIO

2. VENTANA DE PROPIEDADES

OBJETOPROPIEDADVALOR

ListBox1

textBox1

textBox2

buttom1

buttom2buttom3buttom4buttom5

buttom6

Name

Text

Name

Text

Name

Text

Name

Text

Name

Text

NameText

NameText

NameText

NamelstLISTA

textELEMENTO

textNUEVOELEMENTO&AGREGAR

btnAGREGAR

&EDITARbtnEDITAR&ELIMINARbtnrhyELIMINAR&BUSCAR

BtnBUSAR

&MOSTRAR

BtnMOSTRAR

&SALIR

btnSALIR

3. IMPLEMENTACION DE LAS CLASES

Seleccione las opciones del men principal:

Men Principal -> Proyecto -> Agregar Clase

Aparecer la siguiente ventana:

Hagamos doble clic en el objeto: Clase de C++, entonces veremos:

3.1 CREACIN DE LA CLASE ESTRUCTURA: EstructuraLista En la ventana anterior, escribiremos en Nombre de Clase: EstructuraLista y activaremos la opcin check InLine.

Clic en Finalizar, entonces veremos:

Definicin de la Clase Estructura:

class EstructuraLista{

public:

char dato;

int ptr;

EstructuraLista(void)

{

}

};

3.2 CREACIN DE LA CLASE PROCESO: OperaLista

Al igual que en el caso anterior; crear la clase y colocar en Nombre de Clase: OperaLista

El cdigo de la Clase, es:

#pragma once

#include "EstructuraLista.h"

class OperaLista

{

public:

int CAB;

int LIB;

EstructuraLista L[50];

public:

void Inicializar(EstructuraLista[], int&, int&);

void Agregar(EstructuraLista[], int&, int&, char);

int Buscar(EstructuraLista[], int, int, char, int);

void Eliminar(EstructuraLista[], int&, int&, char);

void Editar(EstructuraLista[], int, int, char, char);

OperaLista(void)

{

}

};

void OperaLista::Inicializar(EstructuraLista L[], int &cab, int &lib)

{

cab=99;

lib=0;

for(int k=0; kText);

Lista.Agregar(Lista.L, Lista.CAB, Lista.LIB, xdato);

textELEMENTO->Text="";

}

Botn: btnMOSTRAR:

private: System::Void btnMOSTRAR_Click(System::Object^ sender, System::EventArgs^ e) {

lstLISTA->Items->Clear();

int xptr=Lista.CAB;

while(xptr!=99)

{

char xdato=Lista.L[xptr].dato;

String^ xLinea = Convert::ToString(xptr)+" "+Char::ToString(xdato)+" "+Convert::ToString(Lista.L[xptr].ptr);

lstLISTA->Items->Add(xLinea);

xptr=Lista.L[xptr].ptr;

}

}

Botn: btnELIMINAR:

private: System::Void btnELIMINAR_Click(System::Object^ sender, System::EventArgs^ e) {

char xdato = Convert::ToChar(textELEMENTO->Text);

if(Lista.Buscar(Lista.L, Lista.CAB, Lista.LIB, xdato, 1)==99)

MessageBox("Este dato no se encuentra");

else

Lista.Eliminar(Lista.L, Lista.CAB, Lista.LIB, xdato);

}

Botn: btnEDITAR:

private: System::Void btnEDITAR_Click(System::Object^ sender, System::EventArgs^ e) {

char xdato = Convert::ToChar(textELEMENTO->Text);

char ndato = Convert::ToChar(textNUEVOELEMENTO->Text);

if(Lista.Buscar(Lista.L, Lista.CAB, Lista.LIB, xdato, 1)==99)

MessageBox("Este dato no se encuentra");

else

Lista.Editar(Lista.L, Lista.CAB, Lista.LIB, xdato, ndato);

}

Botn: btnBUSCAR:

private: System::Void btnBUSCAR_Click(System::Object^ sender, System::EventArgs^ e) {

char xdato = Convert::ToChar(textELEMENTO->Text);

int xptr=Lista.Buscar(Lista.L, Lista.CAB, Lista.LIB, xdato, 1);

if(xptr==99)

MessageBox("Este dato no se encuentra");

else

textELEMENTO->Text=Convert::ToString(xptr);

}

NOTA IMPORTANTE No olvidar que se debe incluir la clase OperaLista al inicio del cdigo para poder utilizarla, instanciar el Objeto Lista; de la siguiente manera:#include "OperaLista.h"

OperaLista Lista;Dr. Luis Boy Chavil