Lista: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Linha 23:
[[sl:seznam]]
[[fr:liste]]
 
 
 
 
== Listas Dinâmicas em C ==
 
Os tipos dinâmicos em C permitem obter uma melhor utilização da memória do computador. A única dificuldade perante estes tipos é que o C não os trás definidos, o que faz com que seja o programador a criar este tipo dinâmico.
 
O código necessário para a criação de tipos dinâmicos, neste caso listas (''linked lists'') , tem vindo a ser trabalhado há vários anos, o que faz com que o código mais recente já seja de uma complexidade média/elevada.
 
 
----
exemplo de uma estrutura maximizada para tipos dinamicos:
 
<code>typedef struct lista_st{
char uma_string[DIM];
int um_numero_inteiro;
char um_caracter;
struct lista_st * seg;
}lista;
</code>
 
----
A ultima variável a ser declarada é do tipo apontador para lista, i.e, dentro de cada estrutura vamos ter o endereço da próxima estrutura, o que permite fazer a ligação entre estruturas de uma forma organizada.
 
Outro exemplo é o de como segurar esta estrutura.
O exemplo a seguir cria e retorna uma base de uma lista que aponta para uma estrutura vazia:
----
 
<code>
lista * cria(){
lista * base;
 
base = (lista*)malloc(sizeof(lista))
base->seg = NULL;
 
return base;
}
</code>
----
A inserção, remoção e manipulação dos dados das estruturas são também feitas através de funções que vêm sendo trabalhadas e que começam a atingir elevados graus de complexidade.