C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

concatener deux vector

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
lud42fr
Guest





PostPosted: Thu Jul 24, 2003 3:28 pm    Post subject: concatener deux vector Reply with quote




Bonjour,

je viens de lire la doc sur les vecteurs (std::vector) et je ne voit aucune
methode pour les concatener ?

jusque la je fait un truc bien nul mais je suppose qu'il y a mieux !!!

ex:

for (int i=0;i V1.push_back(V2[i]);

Si quelqu'un a mieux (et je l'espere !!), je suis preneur !!

Ludo
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/
Back to top
Fabien SK
Guest





PostPosted: Thu Jul 24, 2003 4:18 pm    Post subject: Re: concatener deux vector Reply with quote



lud42fr wrote:

Quote:
Bonjour,

je viens de lire la doc sur les vecteurs (std::vector) et je ne voit aucune
methode pour les concatener ?

jusque la je fait un truc bien nul mais je suppose qu'il y a mieux !!!

ex:

for (int i=0;i<V2.size();i++)
V1.push_back(V2[i]);

Si tu utilises la méthod "push_back", fais un "reserve" avant, ça peut
éviter des réallocations inutiles

----

std::vector aaa.push_back(10);
aaa.push_back(20);

std::vector<int> bbb;
bbb.push_back(30);
bbb.push_back(40);

aaa.insert(aaa.end(), bbb.begin(), bbb.end());

std::cout << aaa.size() << " - " << aaa.back() << std::endl;


Back to top
Christophe de Vienne
Guest





PostPosted: Thu Jul 24, 2003 4:19 pm    Post subject: Re: concatener deux vector Reply with quote



lud42fr wrote:

Quote:

Bonjour,

je viens de lire la doc sur les vecteurs (std::vector) et je ne voit
aucune methode pour les concatener ?


V1.insert( V1.end(), V2.begin(), V2.end() );


--
Christophe de Vienne
Experience is something you don't get until just after you need it.
Oliver's Law.

Back to top
Fabien LE LEZ
Guest





PostPosted: Thu Jul 24, 2003 5:04 pm    Post subject: Re: concatener deux vector Reply with quote

On 24 Jul 2003 18:35:31 +0200, Gabriel Dos Reis
<gdr (AT) integrable-solutions (DOT) net> wrote:

Quote:
| V1.insert( V1.end(), V2.begin(), V2.end() );

Cela suppose que V1 a sseez de place pour la suite V2.

Euh... Tu confondrais pas avec std::copy, par hasard ?


--
Tout sur fr.* (FAQ, etc.) : http://www.usenet-fr.net/fur/
et http://www.aminautes.org/forums/serveurs/tablefr.html
Archives : http://groups.google.com/advanced_group_search
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html

Back to top
Gabriel Dos Reis
Guest





PostPosted: Thu Jul 24, 2003 5:11 pm    Post subject: Re: concatener deux vector Reply with quote

Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:

Quote:
On 24 Jul 2003 18:35:31 +0200, Gabriel Dos Reis
[email]gdr (AT) integrable-solutions (DOT) net[/email]> wrote:

| V1.insert( V1.end(), V2.begin(), V2.end() );

Cela suppose que V1 a sseez de place pour la suite V2.

Euh... Tu confondrais pas avec std::copy, par hasard ?

Je confonds simplement.

-- Gaby

Back to top
Christophe de Vienne
Guest





PostPosted: Thu Jul 24, 2003 5:34 pm    Post subject: Re: concatener deux vector Reply with quote

Gabriel Dos Reis wrote:

Quote:
Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:

| On 24 Jul 2003 18:35:31 +0200, Gabriel Dos Reis
| <gdr (AT) integrable-solutions (DOT) net> wrote:
|
| >| V1.insert( V1.end(), V2.begin(), V2.end() );
|
| >Cela suppose que V1 a sseez de place pour la suite V2.
|
| Euh... Tu confondrais pas avec std::copy, par hasard ?

Je confonds simplement.


L'espace d'un instant j'ai eu peur :-)

--
Christophe de Vienne
Experience is something you don't get until just after you need it.
Oliver's Law.

Back to top
Gabriel Dos Reis
Guest





PostPosted: Fri Jul 25, 2003 11:17 am    Post subject: Re: concatener deux vector Reply with quote

[email]kanze (AT) gabi-soft (DOT) fr[/email] writes:

Quote:
Gabriel Dos Reis <gdr (AT) integrable-solutions (DOT) net> wrote in message
news:<m3wue7dgrw.fsf (AT) uniton (DOT) integrable-solutions.net>...
Christophe de Vienne <cdevienne (AT) alphacent (DOT) com> writes:

| lud42fr wrote:

| > je viens de lire la doc sur les vecteurs (std::vector) et je ne
| > voit aucune methode pour les concatener ?

| V1.insert( V1.end(), V2.begin(), V2.end() );

Cela suppose que V1 a sseez de place pour la suite V2.

std::copy(V2.begin(), V2.end(), std::back_insert(V1));

tu peux faire un reserve() avant.

Je ne comprends pas trop la rémarque sur « assez de place » ; entre
l'insert de Christophe et ta copy, ce n'est qu'une question de style.

lis les messages qui ont suivi.

-- Gaby

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.