Operações do TAD
Seguem-se as declarações de todas as operações do TAD, representadas aqui por
rotinas, i.e., funções e procedimentos, do C. Note-se que todas estas rotinas
recebem um ponteiro para uma struct sequence_of_long como argumento. Isto
adequa-se à ideia de que o código cliente pode apenas recorrer a variáveis
dinâmicas para usar este TAD. A colocação desse ponteiro como primeiro
argumento das rotinas é uma convenção do C (ver, por exemplo, fprintf())
que tem a vantagem de permitir um mapeamento mental mais fácil para o que
ocorreria se o TAD fosse implementado usando uma linguagem orientada por
objectos, em que esse ponteiro seria passado implicitamente e estaria
acessível através de um nome convencional, como this ou self.
void SEQL_print(struct sequence_of_longs *sl);
void SEQL_println(struct sequence_of_longs *sl);
int SEQL_length(struct sequence_of_longs *sl);
void SEQL_add(struct sequence_of_longs *sl, long new_term);
long SEQL_term(struct sequence_of_longs *sl, int index);