[c++] Difficulté à naviger dans les pointeurs :)

Difficulté à naviger dans les pointeurs :) [c++] - Programmation

Marsh Posté le 18-01-2002 à 04:20:47    

J'ai deux classes:
 
class CCorps_Section
{
    int rx;
    int ry;
    SDL_Surface *texture;
    CCorps_Section *prochaine_section;
};
 
class CCorps
{
    int w;
    /* blablabal */
    CCorps *sections;
};
 
CCorps ce trouve a être un corps dans un monde, un corps est composé de plsutieurs "section", un cockpite, des ailes, une queues etc... Un moyen que j'ai trouvé pour pouvoir ajouter des sections à un corps sans avoir à déclarer une array dans CCorps est de faire un "arbre" (je crois que c'est comme cela que sa s'appelle) avec des pointeurs qui pointent sur la prochaine section qui pointent sur la prochaine section qui pointent sur la prochaine section qui pointent sur la prochaine section etc. :)  
 
Petit problème, j'ai de la difficulté à "naviger" dans mon arbre, il existe surement des bonnes technique et j'aimerais les connaitre. Si vous voulez m'éclairer en me l'expliquant ou en m'envoyer sur un bon site web, je serais très reconnaisant :)

Reply

Marsh Posté le 18-01-2002 à 04:20:47   

Reply

Marsh Posté le 18-01-2002 à 09:19:05    

Un arbre c pas ça. Ce dont tu parles, c une liste. Et la seule façon de naviguer dans une liste, c de partir d'une élément, et d'aller au suivant, puis au suivant, puis au suivant, puis au suivant, puis au suivant, puis au suivant, et encore au suivant, voir au suivant, puis au suivant (et même plus desfois, mais je résume un peu :D). Le seul avantage d'une liste à ma connaissance, c'est qu'on insère des éléments simplement:
si on a A qui pointe vers C, qui pointe vers E, on insère B entre A et C et faisant pointer A vers B et B vers C. Que du boulot sur les pointeurs, c rapide !

Reply

Marsh Posté le 18-01-2002 à 09:20:36    

ps: un arbre, j'crois que c ds le genre d'une liste, sauf que chaque noeud (ou nod, ou Objet ds ton cas) peut pointer sur plusieur autres noeuds. plus compliqué à gèrer.

Reply

Marsh Posté le 18-01-2002 à 11:06:51    

Tu dois choisir ta structure de donnée en fonction de l'utilisation que tu en fais:
 
Accés sequentiel -> liste ou arbre (si multivalué)
Accés direct -> tableau ou hashtable

Reply

Marsh Posté le 18-01-2002 à 21:10:29    

Petite question, comment on peut faire des array DYNAMIQUES en c++? (ca surement déjà été poser ca...)

Reply

Marsh Posté le 18-01-2002 à 21:41:39    

allouer un tableau de taille variable en run time ?
 
new
 
 
int *monTab = new int[20];
 
 
la tu as fait un splendide tableau de 20 entier .

Reply

Marsh Posté le 18-01-2002 à 23:39:48    

Moi je dis STL powa! :D


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed