Alguien sabe como poner BORRAR en este programa de DEV-C++

Iniciado por Shannon, 4 Octubre 2018, 01:20 AM

0 Miembros y 1 Visitante están viendo este tema.

Shannon




#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;
free(nodo);
if(!*primero)
*ultimo=NULL;
return v;
}

int main()
{
pNodo primero =NULL,ultimo=NULL;


Anadir(&primero,&ultimo,10);
printf("Anadir(10)\n");
printf("Leer: %d\n",leer(&primero,&ultimo));
Anadir(&primero,&ultimo,40);
printf("Anadir(40)\n");
Anadir(&primero,&ultimo,30);
printf("Anadir(30)\n");
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));

system("PAUSE");

return 0;

}





[MOD] Para publicar código usar las etiquetas GeSHi.
His name will live, brother
No, I got-, I feel hella shitty because it's like, I '
Like, if I would have known it was so cool
And it's like, I ', if I would have watched interviews sooner, bro', we were so alike
It's unfortunate because it's like, me, when people die, that's when you're there, you know?
'Cause your remorse kinda makes you check' em out

Beginner Web

7w7

Shannon

His name will live, brother
No, I got-, I feel hella shitty because it's like, I '
Like, if I would have known it was so cool
And it's like, I ', if I would have watched interviews sooner, bro', we were so alike
It's unfortunate because it's like, me, when people die, that's when you're there, you know?
'Cause your remorse kinda makes you check' em out

Beginner Web

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

Código (cpp) [Seleccionar]
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;
}
7w7

MAFUS