Dev - C++ - Borrar ultimo elemento de la Lista enlazada en c++

 
Vista:

Borrar ultimo elemento de la Lista enlazada en c++

Publicado por Nur (2 intervenciones) el 24/01/2020 13:47:53
//Hola!! Necesito ayuda con este enunciado pues la verdad no se como lograr eliminar el ultimo elemento de la lista espero que me puedan ayudar :(, si me pueden decir que debo hacer o me podrian elaborar el codigo seria genial.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//Borrar ultimo elemento de la Lista enlazada en c++
 
 
#include <stdlib.h>
#include <stdio.h>
#define nuevo_nodo (struct nodo *)malloc(sizeof(struct nodo))
struct nodo {
	int info; struct nodo *sig;
} *c, *p, *q;
int mostrar_nodo(struct nodo *s) {
	printf("%d",s->info); return 0;
}
int mostrar_lista(struct nodo *r){
	printf("{ "); mostrar_nodo(r);
	while (r->sig!=NULL){
	printf(", "); mostrar_nodo(r->p); r=r ->sig;
	}
 
	printf(" }"); return 0;
}
int main() {			c = nuevo_nodo;
	c->info=36;		p=nuevo_nodo;	c->sig=p;
	p->info=18;		q=nuevo_nodo;	p->sig=q;
	q->info=45;		p=nuevo_nodo;	q->sig=p;
	p->info=123;	q=nuevo_nodo;	p->sig=q;
	q->info=9;		p=nuevo_nodo;	q->sig=p;
	p->info=54;						p->sig=NULL;
 
	printf("\n\n	"); mostrar_lista(c);
 
 
 
system ("pause");
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 1.530
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Borrar ultimo elemento de la Lista enlazada en c++

Publicado por Rodrigo (431 intervenciones) el 24/01/2020 16:31:03
Haz un ciclo sobre la lista.
Manten un puntero que avance por la lista, y otro puntero que vaya justo atras de el. Algo asi como

atras -> puntero

cuando el puntero -> siguiente sea null, puedes borrar entonces el ultimo, pues puntero sera el ultimo, abusando del hecho que tienes el de atras.

El ciclo se encarga de revisar si ya se llego al final y actualizar los punteros.

Un caso especial: La lista tiene 1 solo elemento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Borrar ultimo elemento de la Lista enlazada en c++

Publicado por Jonathan (2 intervenciones) el 24/01/2020 18:12:22
Este también sería en el caso de lenguaje C?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 1.530
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Borrar ultimo elemento de la Lista enlazada en c++

Publicado por Rodrigo (431 intervenciones) el 24/01/2020 18:41:35
Si, la idea es generica pero aplica a C tambien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar