Translate

segunda-feira, 19 de novembro de 2012

Lista Ordenada

Programa Lista Ordenada ;

type pessoa = record
     nome : string;
     ponteiro:^pessoa;
end;
var pi, px:^pessoa;
    x: integer;
procedure inserir;    
         Begin
               new(px);
               writeln('nome:');
               readln(px^.nome);
               px^.ponteiro:= pi;
               pi:= px;
         End;
procedure listar;
         begin
                repeat
                       writeln('nome:', px^.nome);
                       px:= px^.ponteiro;
                until px = nil;
     end;
procedure ordenar;
    var p1, p2 : ^pessoa;
         aux: string;
         trocar: boolean;
         begin
         if (p1 = nil) then
         writeln ('lista vazia')
      else
      if p2= nil then
         writeln ('lista so com 1 elemento')
      else
      begin
         repeat
               p1:= pi;
               p2:= pi^.ponteiro;
               trocar:= false;
           repeat
              if (p1^.nome > p2^.nome) then
              begin
                 trocar:= true;
                 aux:= p1^.nome;
                 p1^.nome:= p2^.nome;
                 p2^.nome:= aux;
              end
              else
                    p1:= p1^.ponteiro;
                    p2:= p2^.ponteiro;
           until (p1^.ponteiro = nil);
        until not trocar;

     end;
    end;   
begin
      repeat
        writeln('1_ inserir');
        writeln('2_ listar');
        writeln('3_ ordenar');
        writeln('0_ terminar');
  case x of
       1 : inserir;
       2 : listar;
       3 : ordenar;
end;
     until x= 0;
end.         
                 

Reflexão:
Uma lista é uma estrutura dinâmica constituída por um conjunto de nós, ligados entre si por ponteiros.
Numa lista ordenada, apenas se exige que os seus elementos (um dos campos da informação) estejam dispostos de forma ordenada, alfabeticamente ou por ordem de valor.

Estrutura Pilha

 
As pilhas são estruturas baseadas no princípio LIFO (last in, first out), na qual os dados que foram inseridos primeiros na pilha serão os últimos a serem removidos.

Estrutura Fila

 
                                                    


  • A Fila é uma estrutura de dados do tipo FIFO (First In First Out), ou seja, o primeiro a entrar é o primeiro a sair, é visto como a inserção de um novo nó que é feita na Cauda da Fila e a remoção é feita na frente.

  • Ponteiro ou Apontador

    Um ponteiro ou apontador é um tipo especial de variável que é capaz de receber um endereço de memória RAM relativo a um determinado tipo de dados e ficar com que a apontar para ele..