Falta só colocar um apontador para o próximo elemento da lista (para se poder chamar de "lista"):
Código:struct utilizador { char nome[20]; unsigned int idade; [B]struct utilizador *next;[/B] };
Slot não deve ser, ou eu pelo menos nunca ouvi falar nisso.Eu só não percebo é como é que funcionam as slots(acho que é assim que se chama)...
como é que eu faço a procura dos utilizadores na lista....
Eu só não percebo é como é que funcionam as slots(acho que é assim que se chama)...
como é que eu faço a procura dos utilizadores na lista....
Slots ou Nodes?
Um node e´ como o nome indica um no´ da lista, cada no´ e´ constituido por um elemento e no caso da lista simplesmente ligada por um apontador para o elemento seguinte da lista. No teu caso um elemento de um node e´ um utilizador.
Outra coisa que deves saber e´ o que e´ a head e a tail da lista. A head da lista e´ um apontador para o primeiro elemento e a tail e´ um apontador para o ultimo elemento da lista.
Para percorreres a lista para encotrares um utilizador o que tens de fazer e´ começar na cabeça da lista verificar para cada no´ da lista se esse no´ tem o utilizador que procuras. Se chegares ao fim da lista e nao encontrares o utilizador e´ porque ele nao existe.
Espero que te tenha ajudado.
Sim..isso já tinha percebido....mas...faço isso através d'um simples "for"(ou "while")?
typedef struct lnode *List;
typedef struct lnode {
int info;
List next;
} List_node;
void procura_lista (List lista, int chave, List *ant, List *actual)
{
*ant = lista; *actual = lista->next;
while ((*actual) != NULL && (*actual)->info < chave)
{
*ant = *actual;
*actual = (*actual) >next;
*actual = (*actual)->next;
}
if ((*actual) != NULL && (*actual)->info != chave)
*actual = NULL; /* Se elemento não encontrado*/
}