Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/05/2015, 01:59
Avatar de Cardo2095
Cardo2095
 
Fecha de Ingreso: marzo-2015
Ubicación: En mi casa
Mensajes: 18
Antigüedad: 9 años, 8 meses
Puntos: 0
Mensaje Respuesta: insertar una cadena en una lista

Cita:
Iniciado por Cardo2095 Ver Mensaje
de hecho ya lo hice jeje pero aun hay algo que me inquieta a la hora de imprimir la cadena o nose si sera que es asi por ejemplo si ingreso asd me imprime: asd,sd,d
como que me va eliminando la primera letra y lo que quiero es que me quede de esta forma: a,s,d

Clase Nodo
Código PHP:
template<class T>
class 
Nodo{

private:
    
elemento;
    
Nodo <T> * sig;

public:
    
Nodo <T>(*);

    ~
Nodo <T>();
    
void setElemento(T*);
    
getElemento();
    
void setSig(Nodo <T> *);
    
Nodo <T> * getSig();
};



//-----------------------------------IMPLEMENTACIÓN-------------------------------------------------------


template<class T>
Nodo<T>::~Nodo(){}

template<class T>
Nodo <T>::Nodo(pElem){
    
elemento pElem;
    
sig NULL;
}

template<class T>
void Nodo <T>::setElemento(TElem){
    
elemento Elem;
}

template<class T>
TNodo <T>::getElemento(){
    return 
elemento;
}

template<class T>
void Nodo <T>::setSig(Nodo <T> * pSig){
    
sig pSig;
}

template<class T>
Nodo<T> * Nodo <T>::getSig(){
    return 
sig;

Clase Lista
Código PHP:
#include"Nodo.h"
#include<iostream>
#include<fstream>
using namespace std;


template<class T>
class 
Lista{

private:
    
Nodo <T>* primero;
    
Nodo <T>* actual;

public:
    
Lista();
    ~
Lista();


    
void setactual(Nodo<T>*);
    
void setprimero(Nodo<T>*);

    
Nodo<T>* getActual();
    
Nodo<T>* getPrimero();

    
void Insertar(*pDato);
    
void ImprimeLista();
    
TBuscar(int id);
    
void Eliminar(*k);
    
bool Existencia(int id);
    
bool Vacio() const;

};


//-----------------------------------IMPLEMENTACIÓN-------------------------------------------------------

template <class T>
Lista<T>::Lista()
{
    
primero actualNULL;
}

template <class T>
Lista<T>::~Lista()
{
}

//-----------------------------------------------------------------------------------

template<class T>
void Lista<T>::setactual(Nodo<T>*n){
    
actual n;
}

template<class T>
void Lista<T>::setprimero(Nodo<T>*n){
    
primero n;
}

template<class T>
Nodo<T>* Lista<T>::getActual(){
    return 
actual;
}

template<class T>
Nodo<T>* Lista<T>::getPrimero(){
    return 
primero;
}

//-----------------------------------------------------------------------------------

template <class T>
void Lista <T>::Insertar(*pDato){

    
Nodo<T>* nodo = new Nodo<T>(pDato);
    
actual primero;

    if (
Vacio()){
        
primero nodo;
    }

    else{
        while (
actual->getSig()){
            
actual actual->getSig();
        }
        
actual->setSig(nodo);
    }

}

template <class T>
void Lista<T>::ImprimeLista(){
    
system("cls");
    
    
actual primero;

    if (
actual == NULL) {
        
cout << "La lista esta vacia" << endl;
    }

    else{
        while (
actual != NULL){
            
cout<< actual->getElemento()<< endl;
            
            
actual actual->getSig();
        }
    }
    
}

template <class T>
TLista<T>::Buscar(int id)
{
    
Nodo<T>* anterior NULL;
    
actual primero;
    while ((
actual != NULL) && (actual->getElemento()->getId() != id)){
        
anterior actual;
        
actual actual->getSig();
    }
    if (
actual->getElemento()->getId() == id)
    {
        return 
actual->getElemento();
    }
    else return 
false;
}



template <class T>
void Lista<T>::Eliminar(*k){//borra uno en especifico
    
Nodo<T>* anterior NULL;
    
actual primero;
    while (
actual && actual->getElemento()->getId() != k->getId()){
        
anterior actual;
        
actual actual->getSig();
    }
    if (!
actual || actual->getElemento()->getId() != k->getId())
        
cout << "No encontro el elemento";
    else{
        if (!
anterior){
            
primero actual->getSig();
        }
        else{
            
anterior->setSig(actual->getSig());
        }
    }
    
delete actual;
}

template <class T>
bool Lista<T>::Existencia(int id){
    
actual primero;
    while (
actual != NULL){
        if (
actual->getElemento()->getId() == id){ return true; }
        
actual actual->getSig();
    }
    return 
false;
}

template <class T>
bool Lista<T>::Vacio() const{
    return (
primero == NULL);













Código PHP:
void main{
Lista <charl1;

    
char cad[50];
    
int tam;

    
cout << "Escriba la Notacion Infija a Convertir en Prefija" << endl;
    
gets_s(cad);
    
tam strlen(cad);

    for (
int i 0<= tam;i++){
        
l1.Insertar(&cad[i]);
    }

    
l1.ImprimeLista();
    
system("pause");