Índice > Lista > Estática Seqüencial > Operações

Instituto de Ciências Matemáticas de São Carlos
Departamento de Computação e Estatística
SCE182 - Algoritmos e Estruturas de Dados I
Profs. Resp.: Graça Pimentel e Maria Cristina

Operações

Definição da ED

Seja L uma lista linear não ordenada alocada sequencialmente:

    const MAX=100;
    type registro = record
                      chave: T1;
                      info: T2;
                    end;

    type Lista = record
                      Nelem: integer;
                      A: arrray [1..n] of registro;
                 end;

  Var L: Lista;
Operações simples utilizando Lista Estática Sequencial a serem definidas nas Units


Obs: Completar o código, incluindo comandos e definições que faltam, além das condições de exceção em cada operação.

1) Acesso a um elemento

    Function  le_elemento (L:Lista; posic:INTEGER; VAR achado:registro):Boolean;
    ->fazer os comentários
    begin
      achado:= L.A[posic];
    end;
2) Atualização
  -> de acordo com o discutido em classe, elaborar a atualização.
3) Tamanho da Lista
  -> Fazer o cabeçalho
  begin
    tamanho:=L.Nelem;
  end;
4) Inserção de um elemento na posição i
Requer o deslocamento à direita dos elementos a(i+1)...a(n)

  begin
    For j:=L.Nelem+1 downto i+1 do
      lista.A[j]:=L.A[j-1];
    L.A[i]:='novo registro';
    L.Nelem:=L.Nelem+1;
  end;
5) Remoção do i-ésimo elemento
Requer o deslocamento à esquerda dos elementos a(i+1)...a(n)
  begin

    For j:=i to L.Nelem-1 do
      L.A[j]:=L.A[j+1];
  L.Nelem:=L.Nelem-1;
  end;

Lista Estática Sequencial
Algoritmo de Busca