Anda di halaman 1dari 3

TRABAJO CON COLAS

CREAR CLASE NODO.H


class Nodo
{
public:
Nodo* siguiente;
int dato;
Nodo(int n)
{
dato = n;
siguiente = nullptr;
}
};

CREAR CLASE ListaEnlazada.H


#pragma once
#include "Nodo.h"
#include<iostream>
#include<fstream>
#include<string>
using namespace std;

ref class ListaEnlazada


{
public:
Nodo* lista = nullptr;
void insertarLista(int n){
Nodo* nuevo_nodo;
nuevo_nodo = new Nodo(n);
nuevo_nodo->dato = n;
Nodo *aux1 = lista;
Nodo *aux2;
while ((aux1 != nullptr) && (aux1->dato < n)){
aux2 = aux1;
aux1 = aux1->siguiente;
}
if (lista == aux1){
lista = nuevo_nodo;
}
else{
aux2->siguiente = nuevo_nodo;
}
nuevo_nodo->siguiente = aux1;
cout << "\n Elemento" << n << "\n";
}
void mostrarLista(){
Nodo* actual;
int x;
actual = new Nodo(x);
actual = lista;
while (actual != nullptr){
cout << actual->dato << " - ";
actual = actual->siguiente;
}
}
};

1
ListaEnlazada l;
private: System::Void btnagregar_Click(System::Object^ sender,
System::EventArgs^ e) {
int n;
n = int::Parse(txtn->Text);
l.insertarLista(n);
}
private: System::Void button1_Click(System::Object^ sender,
System::EventArgs^ e) {
l.mostrarLista();
}

2
void buscarLista(int n){
bool band = false;
Nodo *actual = new Nodo(0);
actual = lista;
while ((actual != nullptr) && (actual->dato <= n)){
if (actual->dato == n){
band = true;
}
actual = actual->siguiente;
}
if (band == true){
cout << "Elemento" << n << "Encontrado";
}
else
{
cout << "Elemento" << n << "No Encontrado";
}
}
void eliminarNodo(int n){
if (lista != nullptr){
Nodo *aux_borrar;
Nodo *anterior = nullptr;
aux_borrar = lista;
while ((aux_borrar != nullptr) && (aux_borrar->dato != n))
{
anterior = aux_borrar;
aux_borrar = aux_borrar->siguiente;
}
//el elemento no ha sido encontrado
if (aux_borrar == nullptr){
cout << "Elemento no ha sido encontrado";
}
//el primer elemetno el que vamos eliminar
else if (anterior == nullptr) {
lista = lista->siguiente;
delete aux_borrar;
}
//Elemento no es el primero
else {
anterior->siguiente = aux_borrar->siguiente;
delete aux_borrar;
}
}

Anda mungkin juga menyukai