SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din
1: //ELAINE CECÍLIA GATTO
2: //30/08/2016
3:
4: program lista_duplamente_encadeada_dinamica;
5: uses wincrt, crt;
6:
7: //DECLARANDO UM NOVO TIPO
8: type
9: apont=^reg;
10: reg=record
11: nome: string[10];
12: proximo:apont;
13: anterior:apont;
14: end;
15:
16: Var
17: opcao : integer;
18: lista, pAux2, pAux1:apont;
19: x : string;
20:
21: //INICIALIZANDO A LISTA
22: procedure inicializaLista();
23: begin
24: lista:=nil;
25: pAux1:=nil;
26: pAux2:=nil;
27: end;
28:
29: //INSERIR NO COMEÇO
30: procedure insereInicio();
31: begin
32: write(' Digite um nome: ');
33: readln(x);
34: if(lista = nil)then
35: begin
36: new(lista); //aloca memória
37: lista^.nome := x;
38: lista^.proximo := nil; //aponta para o fim da lista
39: lista^.anterior := nil; //aponta para o inicio da lista
40: end
41: else
42: begin
43: new(pAux1); //aloca memória
44: pAux1^.nome := x;
45: pAux1^.proximo := lista;
46: lista^.anterior := pAux1;
47: pAux1^.anterior := nil;
48: lista := pAux1;
49: end;
50: writeln(' Elemento inserido com sucesso! ');
51: end;
52:
53: //INSERIR NO FIM
54: procedure insereFim();
55: begin
56: write(' Digite um nome: ');
57: readln(x);
58: if(lista = nil)then
59: begin
60: new(lista); //aloca memória
61: lista^.nome := x;
62: lista^.proximo := nil; //aponta para o fim da lista
63: lista^.anterior := nil; //aponta para o inicio da lista
64: end
65: else
66: begin
1/5
31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din
67: new(pAux2);
68: pAux2 := lista;
69: while(pAux2^.proximo<>nil)do
70: begin
71: pAux2 := pAux2^.proximo;
72: end;
73: //quando chegar ao FIM, sai do WHILE e insere!
74: new(pAux1);
75: pAux1^.nome := x;
76: pAux1^.proximo := nil;
77: pAux1^.anterior := lista;
78: pAux2^.proximo := pAux1;
79: end;
80: writeln(' Elemento inserido com sucesso! ');
81: end;
82:
83: //REMOVE DO COMEÇO
84: function removeInicio():string;
85: begin
86: if(lista = nil)then
87: begin
88: writeln(' LISTA VAZIA ');
89: end
90: else
91: begin
92: if(lista^.proximo = nil)then
93: begin
94: removeInicio := lista^.nome;
95: dispose(lista);
96: end
97: else
98: begin
99: pAux1 := lista; //aux1 aponta para lista
100: lista := pAux1^.proximo; //lista aponta para o próximo de AUX
101: removeInicio := pAux1^.nome; //remove o item
102: lista^.anterior := nil; //anterior da lista aponta para NIL
103: dispose(pAux1); //libera memória
104: end;
105: writeln(' Elemento removido com sucesso! ');
106: end;
107: end;
108:
109: //REMOVE NO FIM
110: function removeFim():string;
111: begin
112: if(lista = nil)then
113: begin
114: writeln(' LISTA VAZIA ');
115: end
116: else
117: begin
118: if(lista^.proximo = nil)then
119: begin
120: removeFim := lista^.nome;
121: dispose(lista);
122: lista := nil;
123: end
124: else
125: begin
126: pAux1 := lista; //AUX1 aponta para lista
127: pAux2 := lista; //AUX2 aponta para lista
128: while(pAux1^.proximo<>nil)do
129: begin
130: pAux1 := pAux1^.proximo; //AUX1 aponta para o proximo de AUX1
131: pAux2 := pAux1^.anterior; //AUX2 aponta pra o anterior de AUX2
132: end;
2/5
31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din
133: removeFim := pAux1^.nome; //remove o item
134: dispose(pAux1); //libera memória de AUX1
135: pAux2^.proximo := nil; //proximo de AUX2 aponta para NIL
136: end;
137: writeln(' Elemento removido com sucesso! ');
138: end;
139: end;
140:
141: //BUSCAR UM ELEMENTO
142: procedure buscar();
143: begin
144: write(' Digite o nome que deseja procurar: ');
145: readln(x);
146: if(lista = nil)then
147: begin
148: writeln(' Lista Vazia');
149: end
150: else
151: begin
152: pAux1 := lista; //AUX1 aponta para lista
153: while ( ( pAux1 <> nil ) and ( pAux1^.nome <> x ) ) do
154: begin
155: pAux1 := pAux1^.proximo; //vai para o próximo elemento
156: end;
157: //quando achar, PÁRA e sai do while, é pq encontrou!
158: writeln(' Nome encontrado: ', pAux1^.nome);
159: end;
160: end;
161:
162: //ATUALIZAR UM ELEMENTO
163: procedure atualizar();
164: begin
165: write(' Digite o nome que deseja procurar: ');
166: readln(x);
167: if(lista = nil)then
168: begin
169: writeln(' Lista Vazia');
170: end
171: else
172: begin
173: pAux1 := lista; //AUX1 aponta para lista
174: while ( ( pAux1 <> nil ) and ( pAux1^.nome <> x ) ) do
175: begin
176: pAux1 := pAux1^.proximo; //vai para o próximo elemento
177: end;
178: //quando achar, PÁRA e sai do while, é pq encontrou!
179: write(' Digite o novo nome: ' );
180: readln(pAux1^.nome);
181: writeln(' Nome atualizado com sucesso!!! ');
182: end;
183: end;
184:
185: //IMPRIMINDO A LISTA
186: procedure imprimir();
187: begin
188: if(lista = nil)then
189: begin
190: writeln('lista vazia');
191: end
192: else
193: begin
194: pAux1:=lista;
195: while(pAux1 <> nil)do //imprimindo lista
196: begin
197: write(' Nome : ');
198: writeln(pAux1^.nome);
3/5
31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din
199: pAux1 := pAux1^.proximo;
200: end; //while
201: end; //if
202: end; //begin
203:
204: //PROGRAMA PRINCIPAL
205: procedure menu;
206: begin
207: repeat
208: writeln(' MENU ');
209: writeln (' 1. Inicializar a Lista ');
210: writeln (' 2. Inserir no inicio da Lista ');
211: writeln (' 3. Inserir no fim da Lista ');
212: writeln (' 4. Inserir em ordem ');
213: writeln (' 5. Remover do inicio da Lista ');
214: writeln (' 6. Remover do fim da Lista ');
215: writeln (' 7. Buscar um elemento na Lista ');
216: writeln (' 8. Atualize um elemento na Lista ');
217: writeln (' 9. Imprimir todos os elementos Lista ');
218: writeln (' 0. SAIR ');
219: writeln('');
220: write(' Digite a opcao desejada: ');
221: readln(opcao);
222: writeln('');
223:
224: Case opcao Of
225: 1 : Begin
226: inicializaLista();
227: writeln('');
228: end;
229: 2 : Begin
230: insereInicio();
231: writeln('');
232: end;
233: 3 : Begin
234: insereFim();
235: writeln('');
236: end;
237: 4 : Begin
238:
239: writeln('');
240: end;
241: 5 : Begin
242: removeInicio();
243: writeln('');
244: end;
245: 6 : Begin
246: removeFim();
247: writeln('');
248: end;
249: 7 : Begin
250: buscar();
251: writeln('');
252: end;
253: 8 : Begin
254: atualizar();
255: writeln('');
256: end;
257: 9 : Begin
258: imprimir();
259: writeln('');
260: end;
261: Else Writeln (' inválido ');
262: End;
263: until opcao = 0;
264: writeln('');
4/5
31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din
265: end;
266:
267: //PROGRAMA PRINCIPAL
268: begin
269: menu();
270: end.
271:
272:
273:
5/5

Mais conteúdo relacionado

Mais procurados

Mais procurados (16)

Lista simplesmente encadeada: Operações de buscar e atualizar
Lista simplesmente encadeada: Operações de buscar e atualizarLista simplesmente encadeada: Operações de buscar e atualizar
Lista simplesmente encadeada: Operações de buscar e atualizar
 
Why functional programming matters
Why functional programming mattersWhy functional programming matters
Why functional programming matters
 
Lista simplesmente encadeada
Lista simplesmente encadeada Lista simplesmente encadeada
Lista simplesmente encadeada
 
Lista Encadeada Simples: Inserção no Final
Lista Encadeada Simples: Inserção no FinalLista Encadeada Simples: Inserção no Final
Lista Encadeada Simples: Inserção no Final
 
Filas
FilasFilas
Filas
 
Árvore Binária
Árvore BináriaÁrvore Binária
Árvore Binária
 
Lista sequencial estatica
Lista sequencial estaticaLista sequencial estatica
Lista sequencial estatica
 
Pilhas encadeadas
Pilhas encadeadasPilhas encadeadas
Pilhas encadeadas
 
Pilhas
PilhasPilhas
Pilhas
 
Filas encadeadas
Filas encadeadasFilas encadeadas
Filas encadeadas
 
Comparando dois números
Comparando dois númerosComparando dois números
Comparando dois números
 
apostila C++
apostila C++apostila C++
apostila C++
 
meetup adopting java8
meetup adopting java8meetup adopting java8
meetup adopting java8
 
TDC2016POA | Trilha Java - Atualizando para Java 8 na prática!
TDC2016POA | Trilha Java - Atualizando para Java 8 na prática!	TDC2016POA | Trilha Java - Atualizando para Java 8 na prática!
TDC2016POA | Trilha Java - Atualizando para Java 8 na prática!
 
[CEFETMG][BD] Aula 3 - SQL Create-Drop-Insert-Update-Delete-Alter
[CEFETMG][BD] Aula 3 - SQL Create-Drop-Insert-Update-Delete-Alter[CEFETMG][BD] Aula 3 - SQL Create-Drop-Insert-Update-Delete-Alter
[CEFETMG][BD] Aula 3 - SQL Create-Drop-Insert-Update-Delete-Alter
 
Spring Capitulo 03
Spring Capitulo 03Spring Capitulo 03
Spring Capitulo 03
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Último

Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPabloGabrielKdabra
 
QUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralQUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralAntonioVieira539017
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxLuciana Luciana
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfgerathird
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxMarcosLemes28
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedJaquelineBertagliaCe
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxSilvana Silva
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRafaelaMartins72608
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfKarinaSouzaCorreiaAl
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...AnaAugustaLagesZuqui
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 

Último (20)

Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
 
QUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralQUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geral
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 

Lista duplamente encadeada dinamica

  • 1. 31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din 1: //ELAINE CECÍLIA GATTO 2: //30/08/2016 3: 4: program lista_duplamente_encadeada_dinamica; 5: uses wincrt, crt; 6: 7: //DECLARANDO UM NOVO TIPO 8: type 9: apont=^reg; 10: reg=record 11: nome: string[10]; 12: proximo:apont; 13: anterior:apont; 14: end; 15: 16: Var 17: opcao : integer; 18: lista, pAux2, pAux1:apont; 19: x : string; 20: 21: //INICIALIZANDO A LISTA 22: procedure inicializaLista(); 23: begin 24: lista:=nil; 25: pAux1:=nil; 26: pAux2:=nil; 27: end; 28: 29: //INSERIR NO COMEÇO 30: procedure insereInicio(); 31: begin 32: write(' Digite um nome: '); 33: readln(x); 34: if(lista = nil)then 35: begin 36: new(lista); //aloca memória 37: lista^.nome := x; 38: lista^.proximo := nil; //aponta para o fim da lista 39: lista^.anterior := nil; //aponta para o inicio da lista 40: end 41: else 42: begin 43: new(pAux1); //aloca memória 44: pAux1^.nome := x; 45: pAux1^.proximo := lista; 46: lista^.anterior := pAux1; 47: pAux1^.anterior := nil; 48: lista := pAux1; 49: end; 50: writeln(' Elemento inserido com sucesso! '); 51: end; 52: 53: //INSERIR NO FIM 54: procedure insereFim(); 55: begin 56: write(' Digite um nome: '); 57: readln(x); 58: if(lista = nil)then 59: begin 60: new(lista); //aloca memória 61: lista^.nome := x; 62: lista^.proximo := nil; //aponta para o fim da lista 63: lista^.anterior := nil; //aponta para o inicio da lista 64: end 65: else 66: begin 1/5
  • 2. 31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din 67: new(pAux2); 68: pAux2 := lista; 69: while(pAux2^.proximo<>nil)do 70: begin 71: pAux2 := pAux2^.proximo; 72: end; 73: //quando chegar ao FIM, sai do WHILE e insere! 74: new(pAux1); 75: pAux1^.nome := x; 76: pAux1^.proximo := nil; 77: pAux1^.anterior := lista; 78: pAux2^.proximo := pAux1; 79: end; 80: writeln(' Elemento inserido com sucesso! '); 81: end; 82: 83: //REMOVE DO COMEÇO 84: function removeInicio():string; 85: begin 86: if(lista = nil)then 87: begin 88: writeln(' LISTA VAZIA '); 89: end 90: else 91: begin 92: if(lista^.proximo = nil)then 93: begin 94: removeInicio := lista^.nome; 95: dispose(lista); 96: end 97: else 98: begin 99: pAux1 := lista; //aux1 aponta para lista 100: lista := pAux1^.proximo; //lista aponta para o próximo de AUX 101: removeInicio := pAux1^.nome; //remove o item 102: lista^.anterior := nil; //anterior da lista aponta para NIL 103: dispose(pAux1); //libera memória 104: end; 105: writeln(' Elemento removido com sucesso! '); 106: end; 107: end; 108: 109: //REMOVE NO FIM 110: function removeFim():string; 111: begin 112: if(lista = nil)then 113: begin 114: writeln(' LISTA VAZIA '); 115: end 116: else 117: begin 118: if(lista^.proximo = nil)then 119: begin 120: removeFim := lista^.nome; 121: dispose(lista); 122: lista := nil; 123: end 124: else 125: begin 126: pAux1 := lista; //AUX1 aponta para lista 127: pAux2 := lista; //AUX2 aponta para lista 128: while(pAux1^.proximo<>nil)do 129: begin 130: pAux1 := pAux1^.proximo; //AUX1 aponta para o proximo de AUX1 131: pAux2 := pAux1^.anterior; //AUX2 aponta pra o anterior de AUX2 132: end; 2/5
  • 3. 31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din 133: removeFim := pAux1^.nome; //remove o item 134: dispose(pAux1); //libera memória de AUX1 135: pAux2^.proximo := nil; //proximo de AUX2 aponta para NIL 136: end; 137: writeln(' Elemento removido com sucesso! '); 138: end; 139: end; 140: 141: //BUSCAR UM ELEMENTO 142: procedure buscar(); 143: begin 144: write(' Digite o nome que deseja procurar: '); 145: readln(x); 146: if(lista = nil)then 147: begin 148: writeln(' Lista Vazia'); 149: end 150: else 151: begin 152: pAux1 := lista; //AUX1 aponta para lista 153: while ( ( pAux1 <> nil ) and ( pAux1^.nome <> x ) ) do 154: begin 155: pAux1 := pAux1^.proximo; //vai para o próximo elemento 156: end; 157: //quando achar, PÁRA e sai do while, é pq encontrou! 158: writeln(' Nome encontrado: ', pAux1^.nome); 159: end; 160: end; 161: 162: //ATUALIZAR UM ELEMENTO 163: procedure atualizar(); 164: begin 165: write(' Digite o nome que deseja procurar: '); 166: readln(x); 167: if(lista = nil)then 168: begin 169: writeln(' Lista Vazia'); 170: end 171: else 172: begin 173: pAux1 := lista; //AUX1 aponta para lista 174: while ( ( pAux1 <> nil ) and ( pAux1^.nome <> x ) ) do 175: begin 176: pAux1 := pAux1^.proximo; //vai para o próximo elemento 177: end; 178: //quando achar, PÁRA e sai do while, é pq encontrou! 179: write(' Digite o novo nome: ' ); 180: readln(pAux1^.nome); 181: writeln(' Nome atualizado com sucesso!!! '); 182: end; 183: end; 184: 185: //IMPRIMINDO A LISTA 186: procedure imprimir(); 187: begin 188: if(lista = nil)then 189: begin 190: writeln('lista vazia'); 191: end 192: else 193: begin 194: pAux1:=lista; 195: while(pAux1 <> nil)do //imprimindo lista 196: begin 197: write(' Nome : '); 198: writeln(pAux1^.nome); 3/5
  • 4. 31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din 199: pAux1 := pAux1^.proximo; 200: end; //while 201: end; //if 202: end; //begin 203: 204: //PROGRAMA PRINCIPAL 205: procedure menu; 206: begin 207: repeat 208: writeln(' MENU '); 209: writeln (' 1. Inicializar a Lista '); 210: writeln (' 2. Inserir no inicio da Lista '); 211: writeln (' 3. Inserir no fim da Lista '); 212: writeln (' 4. Inserir em ordem '); 213: writeln (' 5. Remover do inicio da Lista '); 214: writeln (' 6. Remover do fim da Lista '); 215: writeln (' 7. Buscar um elemento na Lista '); 216: writeln (' 8. Atualize um elemento na Lista '); 217: writeln (' 9. Imprimir todos os elementos Lista '); 218: writeln (' 0. SAIR '); 219: writeln(''); 220: write(' Digite a opcao desejada: '); 221: readln(opcao); 222: writeln(''); 223: 224: Case opcao Of 225: 1 : Begin 226: inicializaLista(); 227: writeln(''); 228: end; 229: 2 : Begin 230: insereInicio(); 231: writeln(''); 232: end; 233: 3 : Begin 234: insereFim(); 235: writeln(''); 236: end; 237: 4 : Begin 238: 239: writeln(''); 240: end; 241: 5 : Begin 242: removeInicio(); 243: writeln(''); 244: end; 245: 6 : Begin 246: removeFim(); 247: writeln(''); 248: end; 249: 7 : Begin 250: buscar(); 251: writeln(''); 252: end; 253: 8 : Begin 254: atualizar(); 255: writeln(''); 256: end; 257: 9 : Begin 258: imprimir(); 259: writeln(''); 260: end; 261: Else Writeln (' inválido '); 262: End; 263: until opcao = 0; 264: writeln(''); 4/5
  • 5. 31/08/2016 15:06:00C:UserselainDocumentsAlgoritmosListaLista Duplamente Encadeada Dinâmicalista_duplamente_encadeada_din 265: end; 266: 267: //PROGRAMA PRINCIPAL 268: begin 269: menu(); 270: end. 271: 272: 273: 5/5