#include <iostream>
using namespace std;
class Nodo{
public:
int dato;
Nodo *sig;
};
class Lista{
private:
Nodo *primero;
public:
Lista(){
primero=NULL;
}
bool Vacio(){
return (primero==NULL);
}
void Insertar_dato();
void MostrarLista();
void Buscar_dato();
};
void Lista::Insertar_dato(){
int n;
cout<<"Ingrese el dato:";cin>>n;
Nodo*temp;
temp = new Nodo();
temp->dato = n;
temp->sig = primero;
primero = temp;
}
void Lista::MostrarLista(){
Nodo*temp=primero;
cout << "La lista con los datos es :"<<endl;
while(temp!=NULL){
cout<< temp->dato <<endl;
temp=temp->sig;
}
cout<<endl;
}
void Lista::Buscar_dato(){
{
int n;
cout<<"Ingrese el dato a buscar:";cin>>n;
if (Vacio()==true)
{
cout << "La lista esta vacia" <<endl;
}
else
{
int pos=1;
Nodo *temp = primero;
while (temp!=NULL && temp->dato != n)
{
temp = temp->sig;
pos++;
}
if (temp != NULL)
{
cout << "Dato " << temp->dato <<" encontrado en la poscicion: "<< pos<<"\n"<<endl;
}
else
{
cout << "No se encontro el dato." <<endl;
}
}
}
}
int main(int argc, char** argv) {
Lista l1;
int opcion;
bool seguir = true;
while (seguir)
{
cout <<"- - - - - - * - - - - - -" <<endl;
cout <<" Indique su opcion: " <<endl;
cout <<"1: Ingresa un elemento"<<endl;
cout <<"2: Mostrar lista" <<endl;
cout <<"3: Buscar elemento" <<endl;
cout <<"4: Salir" <<endl;
cin>>opcion;
switch(opcion)
{
case 1:
cin.ignore();
l1.Insertar_dato();
cout <<"Dato ingresado\n"<<endl;
break;
case 2:
l1.MostrarLista();
break;
case 3:
cin.ignore();
l1.Buscar_dato();
break;
case 4:
seguir = false;
break;
default:
cout << "Ingrese una opcion valida" <<endl;
}
}
return 0;
}
19 abril 2020
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario