Referência ao Ficheiro queue.c


Descrição Detalhada

Implementação de uma queue como lista ligada.

Autor:
Rui Carlos A. Gonçalves <rcgoncalves.pt@gmail.com>
Versão:
2.0.1
Data:
08/2007

Definido no ficheiro queue.c.

Ir para o código fonte deste ficheiro.

Funções

Queue newQueue ()
 Cria uma queue.
void queueDelete (Queue queue)
 Elemina uma queue.
int queueInsert (Queue queue, void *inf)
 Insere um elemento numa queue.
int queueRemove (Queue queue, void **inf)
 Remove um elemento de uma queue.
int queueConsult (Queue queue, void **inf)
 Verifica qual o elemento na cabeça de uma queue.
int queueSize (Queue queue)
 Determina o tamanho de uma queue.
int queueMap (Queue queue, void(*fun)(void *))
 Aplica uma função aos elementos de uma queue começando pela cabeça.
Iterator queueIterator (Queue queue)
 Cria um iterador a partir da queue.


Documentação das Funções

Queue newQueue (  ) 

Cria uma queue.

Se não for possível criar a queue devolve NULL.

Retorna:
queue inicializada ou NULL.

Definido na linha 13 do ficheiro queue.c.

int queueConsult ( Queue  queue,
void **  inf 
)

Verifica qual o elemento na cabeça de uma queue.

Se a queue estiver vazia é colocado o valor NULL em inf.

Atenção:
esta função coloca em inf o endereço da informação que está na cabeça da queue; depois de executar esta função é aconselhável fazer uma cópia da informação e passar a trabalhar com a cópia para que não haja problemas de partilha de referências.
Parâmetros:
queue queue.
inf endereço onde é colocado o resultado.
Retorna:
0 se a queue não estiver vazia;
1 se a queue estiver vazia.

Definido na linha 104 do ficheiro queue.c.

void queueDelete ( Queue  queue  ) 

Elemina uma queue.

Atenção:
apenas liberta a memória ocupada pela estrutura da queue; não liberta o espaço ocupado pelos elementos nela contidos.
Parâmetros:
queue queue.

Definido na linha 29 do ficheiro queue.c.

int queueInsert ( Queue  queue,
void *  inf 
)

Insere um elemento numa queue.

Verifica se é possível inserir o novo elemento, devolvendo 1 caso não seja possível.

Parâmetros:
queue queue.
inf endereço do elemento que queremos inserir.
Retorna:
0 se o elemento for inserido;
1 se não for possível alocar espaço para o novo elemento.

Definido na linha 49 do ficheiro queue.c.

Iterator queueIterator ( Queue  queue  ) 

Cria um iterador a partir da queue.

Se ocorrer algum erro a função devolve NULL.

Ver Também:
Iterator
Parâmetros:
queue queue.
Retorna:
iterador criado ou NULL.

Definido na linha 143 do ficheiro queue.c.

int queueMap ( Queue  queue,
void(*)(void *)  fun 
)

Aplica uma função aos elementos de uma queue começando pela cabeça.

A função fun tem que ser do tipo: void fun(void*).

Parâmetros:
queue queue.
fun função a ser aplicada.
Retorna:
0 se a queue não estiver vazia;
1 se a queue estiver vazia.

Definido na linha 127 do ficheiro queue.c.

int queueRemove ( Queue  queue,
void **  inf 
)

Remove um elemento de uma queue.

Permite devolver o elemento removido, caso o valor de inf seja diferente de NULL. Se a queue estiver vazia é colocado o valor NULL em inf.

Atenção:
esta função não liberta o espaço ocupado pelo elemento removido.
Parâmetros:
queue queue.
inf endereço onde é colocado o elemento removido (ou NULL).
Retorna:
0 se o elemento for removido;
1 se a queue estiver vazia.

Definido na linha 71 do ficheiro queue.c.

int queueSize ( Queue  queue  ) 

Determina o tamanho de uma queue.

Devolve o valor do campo size da queue.

Parâmetros:
queue queue.
Retorna:
número de elementos da queue.

Definido na linha 120 do ficheiro queue.c.


LibRCG © 2004-2009   Rui Carlos A. Gonçalves