Tableau de queue [Résolu]

Messages postés
221
Date d'inscription
mardi 27 mai 2003
Dernière intervention
12 juillet 2012
- 8 févr. 2011 à 16:32 - Dernière réponse :
Messages postés
221
Date d'inscription
mardi 27 mai 2003
Dernière intervention
12 juillet 2012
- 9 févr. 2011 à 10:01
Bonjour,
J'utilise la class Queue comme un buffer fifo.
Je voudrais savoir si il est possible de faire un tableau de Queue comme ceci par exemple:
Queue<float>[] queue = new Queue<float>[6](500);

Merci


www.survey-copter.com
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
- 8 févr. 2011 à 23:16
3
Merci
Tu crées ton tableau
Queue[] tab = new Queue[10];

Ensuite tu initialises toutes les files de ton tableau
for (int i = 0; i < tab.Length; i++)
{
    tab[i] = new Queue<float>();
}

Et finalement tu l'utilises
tab[1].Enqueue(0);


---
mon blog sur dotnet et plein d'autres choses
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.

Merci cs_GG29 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_GG29
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
- 8 févr. 2011 à 20:51
0
Merci
Oui c'est possible.

---
mon blog sur dotnet et plein d'autres choses
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.
Commenter la réponse de cs_GG29
Messages postés
221
Date d'inscription
mardi 27 mai 2003
Dernière intervention
12 juillet 2012
- 8 févr. 2011 à 20:54
0
Merci
Merci pour la réponse, mais elle ne m'aide pas


www.survey-copter.com
Commenter la réponse de survcopt
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
- 8 févr. 2011 à 21:14
0
Merci
Queue[] tab = new Queue[10];


---
mon blog
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.
Commenter la réponse de cs_GG29
Messages postés
221
Date d'inscription
mardi 27 mai 2003
Dernière intervention
12 juillet 2012
- 8 févr. 2011 à 22:17
0
Merci
Merci mais ce n'est pas aussi simple.
En fait j'ai besoin de créer un tableau de Queue
J'ai réussi à créer un buffer de 500 valeurs :
Queue<float> queue = new Queue<float>(500);
que je gère ainsi
queue.Enqueue(val);
et
queue.Dequeue();

mais j'ai besoin d'avoir un tableau pour faire ceci
Queue<float>[] queue = new Queue<float>[6](500);

queue[i].Enqueue(val);
et
queue[i].Dequeue();
Mais ça ne marche pas
Une idée ???

www.survey-copter.com
Commenter la réponse de survcopt
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
- 8 févr. 2011 à 22:44
0
Merci
Il faut initialiser les 500 files.
for (int i = 0; i < tab.Length; i++)
{
    tab[i] = new Queue<float>();
}


---
mon blog
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.
Commenter la réponse de cs_GG29
Messages postés
221
Date d'inscription
mardi 27 mai 2003
Dernière intervention
12 juillet 2012
- 8 févr. 2011 à 22:50
0
Merci
Alors là tu m'as perdu...
comment tu initialises et utilise ça.
Merci

www.survey-copter.com
Commenter la réponse de survcopt
Messages postés
221
Date d'inscription
mardi 27 mai 2003
Dernière intervention
12 juillet 2012
- 8 févr. 2011 à 23:38
0
Merci
Bon ben ça ne marche pas
sur cette ligne :
tab[i] = new Queue<float>();
J'ai
Erreur 1 Impossible de convertir implicitement le type 'System.Collections.Generic.Queue<float>' en 'System.Collections.Generic.Queue'

par contre si je déclare ainsi
Queue<float>[] tab = new Queue<float>[6];
ça marche
par contre ç'est moins pratique comme tableau...
Une idée
Je suis sous XP avec VS2005 et Framework 2.0

Merci

www.survey-copter.com
Commenter la réponse de survcopt
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
- 8 févr. 2011 à 23:45
0
Merci
L'erreur vient de mon code.
J'ai déclaré un tableau de file de int et j'assigne une file de float, d'où le problème de type


---
mon blog sur dotnet et plein d'autres choses
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.
Commenter la réponse de cs_GG29
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 9 févr. 2011 à 01:26
0
Merci
Possible de faire :
            List<Queue<float>> q = new List<Queue<float>>(6);
            for (int i = 0; i < 6; i++)
                q.Add(new Queue<float>(500));
            q[0].Enqueue(1.0f);
            q[0].Enqueue(2.0f);
            q[0].Enqueue(3.0f);
            q[2].Enqueue(10.0f);
            q[2].Enqueue(20.0f);
            q[2].Enqueue(30.0f);
            while (q[0].Count>0)
                MessageBox.Show(q[0].Dequeue().ToString(), "Queue 0");
            while (q[1].Count > 0)
                MessageBox.Show(q[1].Dequeue().ToString(), "Queue 1");
            while (q[2].Count > 0)
                MessageBox.Show(q[2].Dequeue().ToString(), "Queue 2");



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 9 févr. 2011 à 01:30
0
Merci
ou en passant par un tableau implicite :
            Queue<float>[] q = new Queue<float>[] {new Queue<float>(500), 
                                                   new Queue<float>(500),
                                                   new Queue<float>(500),
                                                   new Queue<float>(500),
                                                   new Queue<float>(500),
                                                   new Queue<float>(500)};



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 9 févr. 2011 à 01:33
0
Merci
ou explicite :
            Queue<float>[] q = new Queue<float>[6];
            for (int i = 0; i < 6; i++)
                q[i] = new Queue<float>(500);


Bref, l'embarras du choix ^^


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 9 févr. 2011 à 01:35
0
Merci
Je viens de relire le code propose plus tot...
Assez similaire aux miens, finallement...

par contre ç'est moins pratique comme tableau...


en quoi ?

Pas compris pourquoi la question etait restee en suspend, finallement...


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
221
Date d'inscription
mardi 27 mai 2003
Dernière intervention
12 juillet 2012
- 9 févr. 2011 à 08:31
0
Merci
Merci renfield,
Toi aussi tu es un nocturne ?
J'ai dis une bêtise en pensant qu'un tableau déclaré avec des float serait moins pratique.
Merci , je vais essayer tes idées et comparer


www.survey-copter.com
Commenter la réponse de survcopt
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 9 févr. 2011 à 08:52
0
Merci
nocturne, oui, je dors par vagues... là, j'étais entre deux phases de someil ^^



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
221
Date d'inscription
mardi 27 mai 2003
Dernière intervention
12 juillet 2012
- 9 févr. 2011 à 10:01
0
Merci
Je crois que l'on a tous le même problème


www.survey-copter.com
Commenter la réponse de survcopt

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.