Exercícios

  1. Considere o ADT fila de prioridade estudado nas aulas teóricas, que é fornecido no ficheiro PQ.zip. Utilize este ADT para implementar um programa que lê um conjunto de palavras do standard input e as imprime no standard output por ordem crescente. Note que para utilizar o ADT terá de criar um ficheiro Item.h que defina o tipo Item e implemente as macros less e exch.
  2. Implemente um ADT de ordem 0, que permite guardar elementos e preserva a ordem de inserção dos elementos. A interface do ADT, fornecida no ficheiro XY.h é constituída pelas seguintes funções:
    • void XYinit(unsigned int n), inicializa as estruturas de dados, possibilitando guardar até n elementos;
    • void XYinsert(Item e), insere um elemento e;
    • void XYdelete(unsigned int i), apaga o elemento de ordem i;
    • unsigned int XYcount(), devolve o número de elementos;
    • Item XYgetmax(), devolve o maior elemento;
    • Item XYgetmin(), devolve o menor elemento;
    • Item XYgetidx(unsigned int i), devolve o elemento de ordem i;
    Implemente um programa em que utilize as funcionalidades deste ADT.
  3. Transforme os ADT's dos exercícios anteriores em ADT's de primeira ordem.

Attachments