View Full Version : listas em c++ - projecto académico


PRodrigues
14-12-2007, 22:43
Alo viva,

Tou a fazer um projecto em c++ e preciso de fazer um login para os utilizadores.
Na classe que tenho para o login preciso utilizar uma lista para guardar os logins dos utilizadores (username, passe) e posteriormente fazer a validação.

Alguem pode ajudar-me? É a primeira vez que vou utilizar listas.

Se souberem algum site onde explique bem isto das listas era fixe, ou então se puderem dar.m aki um exemplo de listas comentado para eu seguir o exemplo..

Obrigado!



Cumprimentos,


PRodrigues

Baderous
14-12-2007, 22:55
Uma lista é uma estrutura de dados constituída por um ou vários campos onde vais guardar as informações que pretendes, e por um apontador que aponta para o próximo elemento da lista (pode ter mais do que 1 apontador, mas para este caso não deve interessar).

Imagina um comboio. É constituído por várias carruagens (os vários elementos da lista).
Uma carruagem é constituída pela sua estrutura principal (onde vão as pessoas, mercadoria, etc, ou seja, a "informação") e por aquele "cabo" que faz a ligação à carruagem seguinte.

Numa analogia teremos:
- Carruagem -> Informação a guardar em cada elemento da lista
- "Cabo" -> Apontador para o próximo elemento da lista

Define-se como, por exemplo:

typedef struct lista {
int info;
struct lista *next;
}Lista;

Onde "lista" é a estrutura em si que possui o campo info e o apontador para o próximo elemento. "Lista" é o nome pelo qual vais fazer referência à estrutura em questão.

PRodrigues
14-12-2007, 23:06
Tou a ver a idéia!
mas as listas podem ter ponteiros apontar do anterior para o proximo elemento e do proximo para o anterior certo?

Sabes de algum site que explique bem listas em c++?

obrigado!


PRodrigues

Baderous
14-12-2007, 23:13
Tou a ver a idéia!
mas as listas podem ter ponteiros apontar do anterior para o proximo elemento e do proximo para o anterior certo?

Sim. São as chamadas listas duplamente ligadas.

http://en.wikipedia.org/wiki/Linked_lists

napalm
15-12-2007, 06:21
C++ Lists (http://www.cppreference.com/cpplist/index.html) - não vale a pena reinventar a roda