problema dichiarazione:Multi-Key ordinamento personalizzato in C++
voglio ordinare un std::vector
di una struttura con mia abitudine criteri di ordinamento.
La struttura è:
struct Node
{
int x;
int y;
float value;
}
Ho un vettore
std::vector<Node> vec;
mio ordinamento personalizzato criteri è che il vettore deve prima essere allineati secondo y
e poi da x
. (Proprio come in Microsoft Excel)
Esempio:
ingresso
x y
5 6
2 4
1 1
1 0
8 10
4 7
7 1
5 4
6 1
1 4
3 10
7 2
uscita:
x y
1 0
1 1
6 1
7 1
7 2
1 4
2 4
5 4
5 6
4 7
3 10
8 10
Può il sopra citato ordinamento essere raggiunto attraverso una delle le funzioni di ordinamento della libreria standard C++ ? Se no, allora c'è qualche altra libreria che posso usare?
sì, è possibile usare 'std :: sort' con un funtore personalizzato. Vedere l'esempio qui http://www.cplusplus.com/reference/algorithm/sort/ –