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 

Trier une map sur la clé et sur le deuxième élément

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





PostPosted: Mon Feb 23, 2004 2:32 pm    Post subject: Trier une map sur la clé et sur le deuxième élément Reply with quote



Bonjour à tous,

j'ai la multimap suivante:

std::multimap<int,LONGLONG> liste_clics;

Elle se trie toute seule en fonction de la clé, mais je voudrais
également que cette map soit triée en fonction du LONGLONG...

Comment je peux faire ça, sachant que std::sort() ne fonctionne pas avec
une multimap?

Merci d'avance
Back to top
Fabien LE LEZ
Guest





PostPosted: Mon Feb 23, 2004 2:41 pm    Post subject: Re: Trier une map sur la clé et sur le deuxième élément Reply with quote



On 23 Feb 2004 14:32:06 GMT, "Michaël Delva" <zoubidaman (AT) hotmail (DOT) com>
wrote:

Quote:
std::multimap<int,LONGLONG> liste_clics;

Elle se trie toute seule en fonction de la clé, mais je voudrais
également que cette map soit triée en fonction du LONGLONG...

struct MaPaire
{
int i;
LONGLONG ll;
bool operator < (MaPaire const& rhs) const
{
if (i if (i>rhs.i) return false;
return ll < rhs.ll;
}
};

std::set
--
;-)

Back to top
Michaël Delva
Guest





PostPosted: Mon Feb 23, 2004 4:34 pm    Post subject: Re: Trier une map sur la clé et sur le deuxième élément Reply with quote



Fabien LE LEZ <gramster (AT) gramster (DOT) com> wrote in
news:m44k30572gr75mm624hr7p0om686moq0a0 (AT) 4ax (DOT) com:

Quote:
struct MaPaire
{
int i;
LONGLONG ll;
bool operator < (MaPaire const& rhs) const
{
if (i if (i>rhs.i) return false;
return ll < rhs.ll;
}
};

std::set


Ok, merci, mais maintenant je n'arrive plus à chercher une valeur dedans...

Comment ça marcherait avec std::find()?

Je dois bien avouer que je n'arrive pas à utiliser les prédicats :-(

Merci d'avance

Back to top
Ivan Vecerina
Guest





PostPosted: Mon Feb 23, 2004 7:50 pm    Post subject: Re: Trier une map sur la clé et sur le deuxième élément Reply with quote


"Michaël Delva" <zoubidaman (AT) hotmail (DOT) com> wrote

Quote:
Fabien LE LEZ <gramster (AT) gramster (DOT) com> wrote in
news:m44k30572gr75mm624hr7p0om686moq0a0 (AT) 4ax (DOT) com:

struct MaPaire
{
....
};

std::set <MaPaire> liste_clics;

En fait, on peut aussi directement écrire:
std::set< std::pair liste_clics;

Quote:
Ok, merci, mais maintenant je n'arrive plus à chercher une valeur
dedans...

Comment ça marcherait avec std::find()?

Pour des raisons de performance, il vaut probablement mieux utiliser
une fonction membre de std::set plutôt qu'un algorithme plus général.

Peut-être utiliser l'intervalle:
liste_clics.lower_bound( std::make_pair(mon_int, MIN_LONGLONG) )
.. liste_clics.lower_bound( std::make_pair(mon_int+1, MIN_LONGLONG) )


Quote:
Je dois bien avouer que je n'arrive pas à utiliser les prédicats Sad

Un alternative peut-être plus simple, en fonction des opérations
à effectuer sur la collection:
std::map< int, std::set liste_clics;


Salutations,
Ivan
--
http://ivan.vecerina.com/contact/?subject=NG_POST <- e-mail contact form



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.