Bonjour je souhaiterai créer un tableau de listes de double en c++.
Comment faire !
j'ai pensé à :mais je suis pas sur du toutCode:
1
2
3
4
5
6
7 int ** tab; tab = new int*[n]; for(int i=0; i<n;i++) { tab[i] = new list<double>(); }
Version imprimable
Bonjour je souhaiterai créer un tableau de listes de double en c++.
Comment faire !
j'ai pensé à :mais je suis pas sur du toutCode:
1
2
3
4
5
6
7 int ** tab; tab = new int*[n]; for(int i=0; i<n;i++) { tab[i] = new list<double>(); }
pourquoi pas simplement un vector< list<double> > ?
ben en faites je connais mal les vector c pas un genre de listes ?
Pour un tableau de listes, c'est pas simplement?Code:list<double> tab[n];
un vector c'est la version STL du tableau basique...
tu sembles avoir de grosses lacunes en C et en C++, je suppose que tu débute, n'hésite pas à aller faire un tour par là : http://c.developpez.com/cours ;)
Un vector ce n'est pas un tableau du tout.
Et ce qui est retourné par new non plus d'ailleurs, c'est un pointeur.
un vector EST la représentation Objet la plus basique possible d'un tableau...Citation:
Envoyé par loufoque
C'est exactCitation:
Envoyé par Eusebe
ca dois etre à cause de la fatigue et de la chaleur pour ne pas avoir vu que ct aussi évident que ca :lol:
merci.
Ps je débute pas en c++ ni en c mais je n'ai jamais eu besoin dans une application de autres choses qu'une liste ou un tableau. Peu etre que je me suis compliqué la vie pour rien aussi :?
enfin je regarderai un peu les conteneurs
le problème, c'est que ça, c'est la version C... enfin, si t'as pas besoin d'une taille dynamique... ça va ^^ ;)
Citation:
Envoyé par Swoög
ben juste un petit list<double>* tab;
et tab = new list<double>[n];
et c'est bon. ;)
Dans ce cas, autant utiliser un vector... c'est plus pratique...
mais il me semble que sur le vector on peu pas acceder directement à un éléments ???
je crois qu'il faut passer par un iterator non ?
enfin j'ai lu la doc en diagonale donc je peux me tromper
Si, tu peux. La classe vector définit l'opérateur d'indexation []...Citation:
Envoyé par Dark-Water
ok merci à tous ce soir je me coucherai moins con :lol:
???Citation:
Envoyé par Dark-Water
La gestion de la mémoire sera grandement simplifiée. Surtout si des exceptions se tapent l'inscruste.Code:std::vector<std::list<double> > tab(n);
vector:
- accès direct => O(1)
- retrait/insertion au milieu en O(n)
- retrait en fin en O(1)
- insertion en fin en O(1) si aucun redimensionnement n'est nécéssaire
- redimensionnable avec coût amorti au fil des insertions (il y a une distinction entre l'espace réservé et l'espace utilisé à un instant t)
- éléments contigus
- générique et fortement typé.
Non, ça c'est boost::array.Citation:
Envoyé par Swoög