1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
void nProchePoints(int *H, int **depart, int a, int **pointschoisis, int nbpointschoisis, int n) {
list <float> distances; // Création d'une liste
list <int>::const_iterator iter; // l' itérateur qui va bien avec
for (int i = 0; i<a; i++) {
float d = dist(H, depart[i]);
distances.push_back(d); // je récupère une liste contenant des distances
}
list<float> copie (distances); //une petite copie...
copie.sort(); //je trie dans l'ordre croissant
for (int i = 0; i<n; i++) {
iter = distances.find(copie.front());
pointschoisis[i][0] = depart[iter.distance()][0];
pointschoisis[i][1] = depart[iter.distance()][1];
copie.pop_front();
}
} |