Bonjour tout le monde!
Voilà, je débute en C++ et j'ai quelques questions 
J'ai fais une fonction qui trie les éléments d'un vector selon leur vitesse ( renvoyée par .getSpeed() ):
void sortVectorBySpeed(vector<Personnage> &f_allVector)
{
int x(0), y(0);
vector<Personnage> tempo;
do
{
for (x=0;x<f_allVector.size()-1;x++)
{
if (f_allVector[x].getSpeed() < f_allVector[x+1].getSpeed())
{
tempo.push_back(f_allVector[x]);
f_allVector[x] = f_allVector[x+1];
f_allVector[x+1] = tempo[0];
tempo.clear();
break;
}
y++;
}
}
while(y < f_allVector.size()+1);
cout << tempo.size();
}
Voici le vector qui est trié, à titre d'indication:
vector<Personnage> allVector;
allVector.push_back(Personnage(100,"Antoine",2));
allVector.push_back(Personnage(100,"Romain",3));
allVector.push_back(Personnage(100,"Alexandre",4));
allVector.push_back(Personnage(100,"Mael",5));
Avec Personnage(int vie, string name, int speed).
Donc ça marche très bien mais j'aimerai l'optimiser, par exemple, (si un vector de taille 0 prend + de place que pas de vector tout court), supprimer le vector tempo qui me sert juste à stocker une référence pour pas la perdre quand on la remplace par la suivante ( f_allVector[x] = f_allVector[x+1]; ), enfin ce genre de trucs 
Ah, et si le code est dégueulasse je serai ravi de savoir pourquoi 
Merci d'avance!
EDIT: Bon c'est pas très lisible comme ça alors j'ai directement pris un screenshot: 
Message édité le 15 avril 2015 à 10:07:29 par ChevreSolitaire