remoção em lista simplesmente encadeada
TRANSCRIPT
![Page 1: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/1.jpg)
LISTA SIMPLESMENTE ENCADEADA – REMOÇÃO
Prof.ª M.ª Elaine Cecília Gatto
![Page 2: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/2.jpg)
REMOVER DO INICIO
![Page 3: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/3.jpg)
REMOVER DO INICIO
node *retiraInicio(node *LISTA)
{
if (LISTA->prox == NULL) {
printf("Lista ja esta vazia\n");
return NULL;
} else {
node *aux = LISTA->prox;
LISTA->prox = aux->prox;
tam--;
return tmp;
}
}
![Page 4: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/4.jpg)
REMOVER DO INICIO
if (LISTA->prox == NULL) {
printf("Lista esta vazia\n");
return NULL;
NULLNULL
PRÓXIMO
LISTA (0X10)
![Page 5: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/5.jpg)
REMOVER DO INICIO
node *aux = LISTA->prox;
LISTA->prox = aux->prox;
tam--;
return tmp;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
![Page 6: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/6.jpg)
REMOVER DO INICIO
node *aux = LISTA->prox;
LISTA->prox = aux->prox;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
0XA
PRÓXIMO
AUX
![Page 7: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/7.jpg)
REMOVER DO INICIO
node *aux = LISTA->prox;
LISTA->prox = aux->prox;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
0XA
PRÓXIMO
AUX
![Page 8: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/8.jpg)
REMOVER DO INICIO
node *aux = LISTA->prox;
LISTA->prox = aux->prox;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
AUX
![Page 9: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/9.jpg)
REMOVER DO INICIO
node *aux = LISTA->prox;
LISTA->prox = aux->prox;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
AUX
![Page 10: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/10.jpg)
REMOVER DO INICIO
node *aux = LISTA->prox;
LISTA->prox = aux->prox;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
AUX
![Page 11: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/11.jpg)
REMOVER DO INICIO
node *aux = LISTA->prox;
LISTA->prox = aux->prox;
x 0XB1
PRÓXIMO
LISTA 0XB1
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
AUX
![Page 12: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/12.jpg)
REMOVER DO INICIO
node *aux = LISTA->prox;
LISTA->prox = aux->prox;
LISTA 0XB1
PRÓXIMO
0XA
NULLk NULL
PRÓXIMO
0XB1
![Page 13: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/13.jpg)
REMOVER DO FIM
![Page 14: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/14.jpg)
REMOVER DO FIM
node *retiraFim(node *LISTA) {
if(LISTA->prox == NULL){
printf("Lista ja vazia\n\n");
return NULL;
} else {
node *ultimo = LISTA->prox, *penultimo = LISTA;
while(ultimo->prox != NULL){
penultimo = ultimo;
ultimo = ultimo->prox;
}
penultimo->prox = NULL;
tam--;
return ultimo;
}
}
![Page 15: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/15.jpg)
REMOVER DO FIM
if(LISTA->prox == NULL){
printf("Lista ja vazia\n\n");
return NULL;
NULLNULL
PRÓXIMO
LISTA (0X10)
![Page 16: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/16.jpg)
REMOVER DO FIM
{ node *ultimo = LISTA->prox, *penultimo = LISTA;
while(ultimo->prox != NULL){
penultimo = ultimo;
ultimo = ultimo->prox;
} penultimo->prox = NULL;
tam--;
return ultimo;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
![Page 17: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/17.jpg)
REMOVER DO FIMnode *ultimo = LISTA->prox, *penultimo = LISTA;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
PRÓXIMO
Ultimo
![Page 18: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/18.jpg)
REMOVER DO FIMnode *ultimo = LISTA->prox, *penultimo = LISTA;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
PRÓXIMO
Ultimo
![Page 19: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/19.jpg)
REMOVER DO FIMnode *ultimo = LISTA->prox, *penultimo = LISTA;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
ULTIMO
![Page 20: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/20.jpg)
REMOVER DO FIMnode *ultimo = LISTA->prox, *penultimo = LISTA;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
PRÓXIMO
Penúltimo
ULTIMO
![Page 21: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/21.jpg)
REMOVER DO FIMnode *ultimo = LISTA->prox, *penultimo = LISTA;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
ULTIMOPENULTIMO
![Page 22: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/22.jpg)
ULTIMOPENULTIMO
REMOVER DO FIMwhile(ultimo->prox != NULL) { penultimo = ultimo; ultimo = ultimo->prox; }
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
Ultimo -> prox != null0XB1 != NULL
F
![Page 23: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/23.jpg)
ULTIMOPENULTIMO
REMOVER DO FIMwhile(ultimo->prox != NULL) { penultimo = ultimo; ultimo = ultimo->prox; }
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
![Page 24: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/24.jpg)
ULTIMOPENULTIMO
REMOVER DO FIMwhile(ultimo->prox != NULL) { penultimo = ultimo; ultimo = ultimo->prox; }
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
![Page 25: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/25.jpg)
ULTIMOPENULTIMO
REMOVER DO FIMwhile(ultimo->prox != NULL) { penultimo = ultimo; ultimo = ultimo->prox; }
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
![Page 26: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/26.jpg)
ULTIMOPENULTIMO
REMOVER DO FIMwhile(ultimo->prox != NULL) { penultimo = ultimo; ultimo = ultimo->prox; }
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
![Page 27: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/27.jpg)
ULTIMOPENULTIMO
REMOVER DO FIMwhile(ultimo->prox != NULL) { penultimo = ultimo; ultimo = ultimo->prox; }
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
Ultimo -> prox != nullNULL != NULL
V
![Page 28: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/28.jpg)
ULTIMOPENULTIMO
REMOVER DO FIMpenultimo->prox = NULL;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
![Page 29: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/29.jpg)
ULTIMOPENULTIMO
REMOVER DO FIMpenultimo->prox = NULL;
x 0XB1
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULLk NULL
PRÓXIMO
0XB1
![Page 30: Remoção em Lista Simplesmente Encadeada](https://reader034.vdocuments.net/reader034/viewer/2022051123/5a64fa6a7f8b9ad5198b47bf/html5/thumbnails/30.jpg)
PENULTIMO
REMOVER DO FIMpenultimo->prox = NULL;
x NULL
PRÓXIMO
LISTA 0X15
PRÓXIMO
0X150XA
NULL