Referência ao Ficheiro array.h


Descrição Detalhada

Implementação de um array dinâmico.

Esta biblioteca disponibiliza funções que permitem alocar dinamicamente o array com o comprimento que desejarmos, tendo o comprimento do array disponível.
O array tem também a capacidade de se redimensionar sempre que necessário, mantendo toda a informação já existente.

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

Definido no ficheiro array.h.

Ir para o código fonte deste ficheiro.

Estruturas de Dados

struct  SArray
 Definição da estrutura do array. Mais...

Definições de Tipos

typedef SArrayArray
 Definição do array.

Funções

Array newArray (int size)
 Cria um array.
void arrayDelete (Array array)
 Elimina um array.
int arrayInsert (Array array, int index, void *inf, int replace)
 Insere um elemento numa determinada posição de um array.
int arrayRemove (Array array, int index, void **inf)
 Remove um elemento numa determinada posição de um array.
int arrayAt (Array array, int index, void **inf)
 Verifica qual o elemento numa determinada posição de um array.
int arrayResize (Array array, int size)
 Altera a capacidade do array.
int arraySize (Array array)
 Determina o número de elementos de um array.
int arrayCapacity (Array array)
 Determina a capacidade de um array.
int arrayMap (Array array, void(*fun)(void *))
 Aplica uma função aos elementos de um array.
Iterator arrayIterator (Array array)
 Cria um iterador a partir de um array.


Documentação das Funções

int arrayAt ( Array  array,
int  index,
void **  inf 
)

Verifica qual o elemento numa determinada posição de um array.

Se não existir nenhum elemento na posição indicado é colocado o valor NULL em inf.

Atenção:
esta função coloca em inf o endereço do elemento pretendido; 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:
array array.
index posição do elemento que procuramos.
inf endereço onde será colocado o resultado.
Retorna:
0 se existir elemento na posição pretendida;
1 se não existir elemento na posição indicada.

Definido na linha 95 do ficheiro array.c.

int arrayCapacity ( Array  array  ) 

Determina a capacidade de um array.

Devolve o valor do campo capacity do array.

Parâmetros:
array array.
Retorna:
capacidade do array.

Definido na linha 149 do ficheiro array.c.

void arrayDelete ( Array  array  ) 

Elimina um array.

Atenção:
apenas liberta a memória referente à estrutura do array; não liberta o espaço ocupado pelos elementos nele contidos.
Parâmetros:
array array.

Definido na linha 36 do ficheiro array.c.

int arrayInsert ( Array  array,
int  index,
void *  inf,
int  replace 
)

Insere um elemento numa determinada posição de um array.

A posição, especificado pelo argumento index, tem que ser maior do que 0. Se o tamanho actual do array não permitir a inserção do novo elemento, o tamanho é aumentado e passa a ser igual ao valor de index+1 (se não for possível aumentar o tamanho do array o elemento não é inserido). Caso a posição já esteja ocupada, a variável replace determina se o valor antigo é ou não substituido (caso seja 0 não há substituição, caso tenha outro valor o novo elemento é inserido).

Atenção:
se o elemento a inserir tiver o valor NULL, este não é inserido, não sendo, como tal, incrementado o número de elementos do array.
Parâmetros:
array array.
index posição em que será inserido.
inf endereço do elemento que queremos inserir.
replace variável que determina se elementos já existente são ou não substituídos.
Retorna:
0 se o elemento for inserido;
1 se a posição já estava ocupada;
2 se o valor de index não for válido;
3 se não for possível aumentar o tamanho do array.

Definido na linha 44 do ficheiro array.c.

Iterator arrayIterator ( Array  array  ) 

Cria um iterador a partir de um array.

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

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

Definido na linha 176 do ficheiro array.c.

int arrayMap ( Array  array,
void(*)(void *)  fun 
)

Aplica uma função aos elementos de um array.

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

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

Definido na linha 156 do ficheiro array.c.

int arrayRemove ( Array  array,
int  index,
void **  inf 
)

Remove um elemento numa determinada posição de um array.

Permite devolver a informação do elemento removido, caso o valor de inf seja diferente de NULL. Se o elemento pretendido não existir será colocado o valor NULL em inf. Considera-se que não existe elemento numa posição do array, se o seu valor for NULL.

Atenção:
esta função não liberta a memória ocupada pela elemento removido.
Parâmetros:
array array.
index posição do elemento que queremos remover.
inf endereço onde é colocado o valor removido (ou NULL).
Retorna:
0 se o elemento for removido;
1 se não existir elemento na posição indicada.

Definido na linha 72 do ficheiro array.c.

int arrayResize ( Array  array,
int  size 
)

Altera a capacidade do array.

Apenas permite aumentar a capacidade do array.

Parâmetros:
array array.
size nova capacidade do array.
Retorna:
0 se a dimensão for alterada;
1 se ocorrer algum erro durante o redimensionamento do array;
2 se o valor da nova dimensão for inferior à dimensão actual.

Definido na linha 116 do ficheiro array.c.

int arraySize ( Array  array  ) 

Determina o número de elementos de um array.

Devolve o valor do campo size do array.

Parâmetros:
array array.
Retorna:
número de elementos do array.

Definido na linha 142 do ficheiro array.c.

Array newArray ( int  size  ) 

Cria um array.

Um array trata-se de um vector de elementos associados a uma posição, posição essa a que podemos aceder em tempo linear. Na criação do array é indicado a dimensão inicial, dimensão essa que pode posteriormente ser alterada através da função arrayResize.
Se não for possível criar o array devolve NULL.

Parâmetros:
size dimensão pretendida.
Retorna:
array inicializado ou NULL.

Definido na linha 12 do ficheiro array.c.


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