pilha Com Alocação Dinamica

337 palavras 2 páginas
ALOCAÇÃO DINÂMICA DE MEMÓRIA:
Toda área alocada dinamicamente, é necessário que tenha um referenciador, pois a alocação é feita em tempo de execução e a mesma não tem rótulo e temos que utilizar o endereço para poder manipular os dados.
Como criar variáveis do tipo ponteiro (ou apontador). var : ^ ; var p : ^integer;

Como alocar variáveis dinamicamente New (); Ex: new(p);

Como manipular áreas (variáveis) alocadas dinamicamente
^
p^ := 10;

Como liberar áreas (variáveis) alocadas dinamicamente := nil;
Ex: p : nil;

Código feito em PASCAL de uma pilha alocada dinamicamente.

program PilhaDin; uses Crt;

const NULO = char(000);

type Tdados = char; type ptr = ^nodo; nodo = record dados : Tdados; prox : ptr; end;

Function IntToStr(I : Longint) : String;
Var S : String; begin Str (I,S); IntToStr:=S; end; procedure CreateP(var P : ptr); begin P := Nil; end; function isEmptyP(P : ptr):boolean; begin isEmptyP := (P = Nil); end; procedure DestroyP(var P : ptr); var aux : ptr; begin if NOT isEmptyP(P) Then begin while NOT isEmptyP(P) do begin aux := P; P := P^.prox; dispose(aux); end; writeln('Destruida'); end else writeln('Destruida'); end; procedure PushP(var P : ptr; elem : Tdados); var aux : ptr; begin new(aux); if NOT isEmptyP(aux) Then begin aux^.dados := elem; aux^.prox := P; P := aux; end else Write('problema na alocação de memoria'); end; function PopP(var P : ptr):Tdados; var aux : ptr; blc : Tdados; begin if NOT isEmptyP(P) Then begin blc := P^.dados; aux := P; P := P^.prox; dispose(aux); PopP := blc; end else begin Write('Underflow!'); readln; PopP := NULO;//halt; end; end; function TopP(P :ptr):Tdados; begin if NOT isEmptyP(P) Then TopP := P^.dados else TopP := NULO; end; procedure ShowP(P : ptr); begin if isEmptyP(p) Then writeln('Pilha vazia') else while not isEmptyP(p)

Relacionados

  • Pilha ling c
    652 palavras | 3 páginas
  • apostila 2014
    3055 palavras | 13 páginas
  • Pilhas e Filas
    1221 palavras | 5 páginas
  • Atps 3° semestre fac 2
    4600 palavras | 19 páginas
  • Atps estrutura de dados
    2040 palavras | 9 páginas
  • Ciencia da computaçao
    2023 palavras | 9 páginas
  • Atps estrutura de dados
    2044 palavras | 9 páginas
  • java
    844 palavras | 4 páginas
  • Utilizações de Estruturas de dados
    1608 palavras | 7 páginas
  • Atps estrutura de dados
    2226 palavras | 9 páginas