Estructuras dinamicas en c++

Solo disponible en BuenasTareas
  • Páginas : 2 (313 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de marzo de 2011
Leer documento completo
Vista previa del texto
#include <stdio.h>
#include <stdlib.h>
struct nodo
{
float info;
nodo *siguiente;
};
nodo *agregar_a_lista(nodo *principio, float r)
{
nodo *temp,*nuevo;nuevo=(nodo *)malloc(sizeof(nodo));
nuevo->info=r;
nuevo->siguiente=NULL;
if(principio==NULL)
{
principio=nuevo;
}
else
{
temp=principio;while(temp->siguiente!=NULL)
{
temp=temp->siguiente;
}
temp->siguiente=nuevo;
}
return(principio);
}

voidmostrar_lista(nodo *principio)
{
nodo *temp;
if(principio==NULL)
printf("\nLista vacia");
else
{
temp=principio;while(temp!=NULL)
{
printf("\n%f",temp->info);
temp=temp->siguiente;
}
}
}
nodo *eliminar_lista(nodo *principio){
nodo *temp,*siguiente;
if(principio!=NULL) //hay elementos en la lista?
{
temp=principio;
do{
siguiente=temp->siguiente;free(temp);
temp=siguiente;
}while(temp!=NULL);
}
return(NULL);
}
nodo *eliminar_elemento_lista(nodo *principio, float r)
{nodo *temp,*siguiente,*anterior;
if(principio->info==r) //borrar priemr elemento de la lista
{
temp=principio;
principio=principio->siguiente;free(temp);
}
else
{
anterior=principio;
temp=principio->siguiente;
while(temp!=NULL)
{
if(temp->info==r){
anterior->siguiente = temp->siguiente;
free(temp);
break;
}
anterior=temp;...
tracking img