Título: Alguien sabe como poner BORRAR en este programa de DEV-C++
Publicado por: Shannon en 4 Octubre 2018, 01:20 am
#include<stdlib.h> #include<stdio.h> typedef struct _nodo { int valor; struct _nodo *siguiente; }tipoNodo; typedef tipoNodo *pNodo; void Anadir (pNodo *primero,pNodo *ultimo,int v) { pNodo nuevo; nuevo =(pNodo ) malloc(sizeof(tipoNodo )); nuevo-> valor=v; nuevo->siguiente=NULL; if(*ultimo) (*ultimo)->siguiente=nuevo; *ultimo=nuevo; if(!(*primero)) *primero=nuevo; } int leer(pNodo *primero,pNodo *ultimo) { pNodo nodo; int v; nodo=*primero; if(!nodo) return 0; *primero=nodo ->siguiente; v=nodo->valor; if(!*primero) *ultimo=NULL; return v; } int main() { pNodo primero =NULL,ultimo=NULL; Anadir(&primero,&ultimo,10); printf("Leer: %d\n",leer (&primero ,&ultimo )); Anadir(&primero,&ultimo,40); Anadir(&primero,&ultimo,30); printf("Leer :%d\n",leer (&primero ,&ultimo )); printf("Leer :%d\n",leer (&primero ,&ultimo )); Anadir(&primero,&ultimo,90); printf("Leer :%d\n",leer (&primero ,&ultimo )); printf("Leer :%d\n",leer (&primero ,&ultimo )); return 0; }
[MOD] Para publicar código usar las etiquetas GeSHi.
Título: Re: Alguien sabe como poner BORRAR en este programa de DEV-C++
Publicado por: Beginner Web en 4 Octubre 2018, 04:03 am
Es con delete(nodo);
Título: Re: Alguien sabe como poner BORRAR en este programa de DEV-C++
Publicado por: Shannon en 4 Octubre 2018, 06:40 am
como pongo el delate nodo?
Título: Re: Alguien sabe como poner BORRAR en este programa de DEV-C++
Publicado por: Beginner Web en 4 Octubre 2018, 07:36 am
Quieres poner un borrar nodo dentro de tu codigo dices? Aca tengo unas funciones para desligar un nodo de una lista y devolverlas al programa donde se invoco, si el elemento devuelvo no es nulo entonces simplemente hace un delete(nodo); y ya pnodo quitar_inicio(pnodo &lista) { pnodo borrado; if(lista==NULL){ borrado=NULL; } else{ borrado=lista; lista=lista->sig; borrado->sig=NULL; } return borrado; } pnodo quitar_final(pnodo &lista) { pnodo borrado, i; if(lista==NULL){ borrado=NULL; } else{ if(lista->sig==NULL){ borrado=lista; lista=NULL; } else{ for(i=lista;(i->sig)->sig!=NULL;i=i->sig); borrado=i->sig; i->sig=NULL; } } return borrado; } pnodo quitar_nodo(pnodo &lista, int valor) { pnodo borrado, i; if(lista==NULL){ borrado=NULL; } else{ if(valor==lista->dato){ borrado=lista; lista=borrado->sig; borrado->sig=NULL; } else{ for(i=lista;i->sig!=NULL && valor!=(i->sig)->dato;i=i->sig); if(i->sig!=NULL){ borrado=i->sig; i->sig=borrado->sig; borrado->sig=NULL; } else{ borrado=NULL; } } } return borrado; }
Título: Re: Alguien sabe como poner BORRAR en este programa de DEV-C++
Publicado por: MAFUS en 4 Octubre 2018, 09:27 am
Es en C, no C++.
|