Friday, June 01, 2007

Listas ligadas en C Objeto

#include <>
#include <>

class Nodo {
public: Nodo * next;
public: char letra;

public: void Create(void){
this->letra = letra;
this->next = 0;
}
public: Nodo(char letra){
this->letra = letra;
this->next = 0;
}

public: Nodo(void){
this->letra = '\0';
this->next = 0;
}

public: void add(char letra ){
add( new Nodo(letra) );
}

public: void add(Nodo * ejemplo){
if (this->letra=='\0') {
this->letra = ejemplo->letra;
this->next = ejemplo->next;
return;
}

if(this->next==0){
this->next = ejemplo;
} else {
//recursion tipo 2
this->next->add(ejemplo);
}
}

public: Nodo* operator=(char letra){
this->letra = letra;
this->next = '\0';
return this;
}

};


int main(int cargs , char * args[]) {
clrscr();
Nodo * head = new Nodo();
head->add( 'f' );
head->add( 'a' );
head->add( 'b' );
head->add( new Nodo('i') );
head->add( new Nodo('o') );
Nodo *tmp = head;

Nodo * heap = new Nodo();
heap->add(' ');
heap->add('1');
heap->add('9');
heap->add('8');
heap->add('5');

head->add(heap);

while(tmp!=0 ){
cout<<"->"<letra;
tmp = tmp->next;
}

getch();
return 0;
}

No comments: