Referência ao Ficheiro pqueue.c


Descrição Detalhada

Implementação de uma pqueue como lista ligada.

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

Definido no ficheiro pqueue.c.

Ir para o código fonte deste ficheiro.

Funções

PQueue newPQueue (int(*comp)(void *, void *))
 Cria uma pqueue.
int pqueueSetComp (PQueue pqueue, int(*comp)(void *, void *))
 Altera a função que compara os elementos de uma árvore.
void pqueueDelete (PQueue pqueue)
 Elemina uma pqueue.
int pqueueInsert (PQueue pqueue, void *inf)
 Insere um elemento numa pqueue.
int pqueueRemove (PQueue pqueue, void **inf)
 Remove um elemento de uma pqueue.
int pqueueConsult (PQueue pqueue, void **inf)
 Verifica qual o elemento na cabeça de uma pqueue.
int pqueueSize (PQueue pqueue)
 Determina o tamanho de uma pqueue.
int pqueueMap (PQueue pqueue, void(*fun)(void *))
 Aplica uma função aos elementos de uma pqueue começando pela cabeça.
Iterator pqueueIterator (PQueue pqueue)
 Cria um iterador a partir da pqueue.


Documentação das Funções

PQueue newPQueue ( int(*)(void *, void *)  comp  ) 

Cria uma pqueue.

Se não for possível criar a pqueue devolve NULL. Tem que ser especificada a função que compara os elementos da pqueue. Esta função pode ser alterada a qualquer momento, utilizando a função pqueueSetComp.

(Ver descrição das funções)

Parâmetros:
comp função que compara dois elementos.
Retorna:
pqueue inicializada ou NULL.

Definido na linha 13 do ficheiro pqueue.c.

int pqueueConsult ( PQueue  pqueue,
void **  inf 
)

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

Se a pqueue 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 pqueue; 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:
pqueue pqueue.
inf endereço onde é colocado o resultado.
Retorna:
0 se a pqueue não estiver vazia;
1 se a pqueue estiver vazia.

Definido na linha 134 do ficheiro pqueue.c.

void pqueueDelete ( PQueue  pqueue  ) 

Elemina uma pqueue.

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

Definido na linha 41 do ficheiro pqueue.c.

int pqueueInsert ( PQueue  pqueue,
void *  inf 
)

Insere um elemento numa pqueue.

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

Parâmetros:
pqueue pqueue.
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 61 do ficheiro pqueue.c.

Iterator pqueueIterator ( PQueue  pqueue  ) 

Cria um iterador a partir da pqueue.

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

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

Definido na linha 173 do ficheiro pqueue.c.

int pqueueMap ( PQueue  pqueue,
void(*)(void *)  fun 
)

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

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

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

Definido na linha 157 do ficheiro pqueue.c.

int pqueueRemove ( PQueue  pqueue,
void **  inf 
)

Remove um elemento de uma pqueue.

Permite devolver o elemento removido, caso o valor de inf seja diferente de NULL. Se a pqueue 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:
pqueue pqueue.
inf endereço onde é colocado o elemento removido (ou NULL).
Retorna:
0 se o elemento for removido;
1 se a pqueue estiver vazia.

Definido na linha 102 do ficheiro pqueue.c.

int pqueueSetComp ( PQueue  pqueue,
int(*)(void *, void *)  comp 
)

Altera a função que compara os elementos de uma árvore.

O valor de comp não pode ser NULL.

Parâmetros:
pqueue pqueue.
comp nova função.
Retorna:
1 se comp for NULL (não é efectuada qualquer alteração);
0 caso contrário.

Definido na linha 29 do ficheiro pqueue.c.

int pqueueSize ( PQueue  pqueue  ) 

Determina o tamanho de uma pqueue.

Devolve o valor do campo size da pqueue.

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

Definido na linha 150 do ficheiro pqueue.c.


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