tengo un problema, se que tengo que recorrer mi lista para encontrar el numero que debo sacar pero no entiendo como, si tengo que sacar por decir el numero que le indique; podrian ayudarme...dejo el codigo
#include <iostream.h>
#include <windows.h>
#include <conio.h>
struct Nodo
{
int dato;
Nodo *sig;
};
class Lista
{
private:
Nodo *inicio;
public:
Lista ()//constructor
{
inicio=NULL;
}
void insertar(int d)
{
Nodo *nuevo;
nuevo = new Nodo();
nuevo->dato=d;
nuevo->sig=NULL;
if (inicio == NULL)
{
inicio = nuevo;
}
else
{
Nodo *pos, *ant;
pos = inicio;
ant = inicio;
while(nuevo->dato > pos->dato)
{
ant = pos;
pos = pos->sig;
if (pos == NULL)
{
break;
}
}
if (pos == NULL)//nuevo se agrega al final de la lista
{
ant->sig = nuevo;
}
else
{
if(pos == inicio)
{
nuevo->sig = pos;
inicio = nuevo;
}
else
{
ant->sig = nuevo;
nuevo->sig = pos;
}
}
}
}
void Mostrar()
{
Nodo *temp;
temp = inicio;
if (temp!=NULL)
{
do
{
cout << temp->dato << endl;
temp = temp->sig;
}while(temp!=NULL);
}
}
}
+++++++++++++++++++++++
void eliminar() ES AQUI DONDE NO LE HALLO
+++++++++++++++++
void main (void)
{
Lista numeros;
int op, n;
do
{
system("cls");
cout << "M E N U L I S T A O R D E N A D A" << endl<<endl;
cout << "1.- Meter un numero a la lista"<< endl;
cout << "2.- Sacar un numero de la lista"<< endl;
cout << "3.- Mostrar la lista"<< endl;
cout << "4.- Salir"<< endl << endl;
cout << "Elige una opcion-> ";
cin >> op;
system("cls");
switch(op)
{
case 1:
cout << "Introduce el numero: ";
cin >> n;
numeros.insertar(n);
break;
case 2:
numeros.eliminar();
cout << "Numero eliminado de la lista"<<endl;
break;
case 3:
cout << "Los numeros son: " << endl;
numeros.Mostrar();
break;
default:
cout << "Bye!!!"<<endl;
}
getch();
}while(op>=1 && op<=3);
}
agradeceria me explicaran como.gracias