Bonjour à tous et toutes !
J'ai un petit programme que je développe et qui peut accueillir quelque dizaines de clients (réseau TCP).
Mon problème se situe au niveau du suivi de ces clients.
En clair, imaginons la situation suivante:
J'ai un tableau de valeurs binaires, en fonction du numéro du client.
Si j'ai par exemple 3 clients maximum, j'ai un tableau e = {F, F, F}
J'ai un premier client qui se connecte. Il va donc occuper ma première case.
e = {T, F, F}
Puis un second client
e = {T, T, F}
Le premier part
e = {F, T, F}
Un troisième arrive, il occupe la première case libre:
e = {T, T, F}
L'avantage, c'est que le tableau e, en le parcourant, me donne l'indice du tableau contenant un client (ça me permet d'avoir un tableau statique de clients, car la structure est assez complexe, et je ne veut pas d'allocation dynamique).
L'inconvénient, c'est que ce tableau n'est pas génial en temps de parcours, si j'ai beaucoup de clients, et beaucoup de trous.
Y a-t-il une meilleure solution, plus efficace ?
Cette solution a des limites. Par exemple, je ne peux pas rechercher un client donné sans parcourir mon tableau entièrement.
J'avais pensé à utiliser une liste chaînée (simple ou double), mais ça ne me satisfait qu'à moitié, car je ne sais pas si c'est vraiment pertinent.
Je ne sais pas si c'est très clair...
Merci d'avance pour vos réponses !
Partager