Lista enlazada
#ifndef NODO_H
#define NODO_H
#include
using namespace std;
template
class Nodo
{
public:
T dato;
Nodo *sgte;
Nodo();
Nodo(T);
~Nodo();
voidprint();
void eliminar();
};
#endif // NODO_H
//Nodo.cpp
#include "Nodo.h"
//constructor por defecto
template
Nodo::Nodo()
{
dato = NULL;
sgte = NULL;
}
//constructor por parametrotemplate
Nodo::Nodo(T dato_)
{
dato = dato_;
sgte = NULL;
}
//imprimir un nodo
template
void Nodo::print()
{
//cout sgte = temp->sgte;
temp->sgte = nuevo;
}
} num_nodos++;
}
//buscar el dato de un nodo
template
void Lista::search(T dato_)
{
Nodo *temp = head;
int cont = 1;
int cont2=0;
while(temp){
if(temp->dato == dato_){
coutsgte;
temp1 = temp1->sgte;
}
}
if(cont == 0){
cout num_nodos){
cout sgte;
delete aux;
num_nodos--;
}
temp = temp->sgte;
temp1 =temp1->sgte;
}
}
}
//eliminar todos los nodos
template
void Lista::del_all()
{
head->eliminar();
head = 0;
}
//invertir la lista
template
void Lista::invertir()
{
Nodo *temp= head;
Nodo *prev = NULL;
Nodo *next = NULL;
while(temp){
next = temp->sgte;
temp->sgte = prev;
prev = temp;
temp = next;
}
head = prev;
}
//ordenar demanera ascendente
template
void Lista::sort()
{
T aux2;
Nodo *aux = head;
Nodo *temp = aux;
while(aux){
temp=aux;
while(temp->sgte){
temp=temp->sgte;
if(aux->dato>temp->dato){
aux2=aux->dato;
aux->dato=temp->dato;
temp->dato=aux2;
}
}
aux=aux->sgte;
}
}
//cargar una lista de un archivo
template
voidLista::load(string archivo)
{
ifstream in;
in.open(archivo.c_str());
if(!in.is_open()){
cout sgte;
i++;
}
int j=0;
while(temp2){
v2[j] = temp2->dato;
temp2...
Regístrate para leer el documento completo.