Referência ao Ficheiro queue.h


Descrição Detalhada

Implementação de uma queue como lista ligada.

Esta biblioteca disponibiliza um conjunto de funções que permitem manipular uma queue.

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

Definido no ficheiro queue.h.

Ir para o código fonte deste ficheiro.

Estruturas de Dados

struct  SQueueNode
 Estrutura do nodo da queue. Mais...
struct  SQueue
 Estrutura da queue. Mais...

Definições de Tipos

typedef SQueueNodeQueueNode
 Definição do apontador para os nodos da queue.
typedef SQueueQueue
 Definição da queue.

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