Comment utilisez-vous une bulle de trier avec les pointeurs en c++?
Alors, voici ce que j'ai à ce jour:
void sortArray(int amountOfScores, int* testScores)
{
for(int i = 0; i < amountOfScores; i++)
{
for(int j = 0; j < amountOfScores-1; j++)
{
if(*(testScores+i) > *(testScores+j+1))
{
int temp = *(testScores+j);
*(testScores+j) = *(testScores+j+1);
*(testScores+j+1) = temp;
}
}
}
for(int i = 0; i < amountOfScores; i++)
{
cout << *(testScores+i) << endl;
}
}
Fondamentalement, je suis en train de lire en cependant, de nombreux numéros de l'utilisateur souhaite d'entrée, puis de les trier dans l'ordre croissant. Catch est que je dois utiliser des pointeurs et je n'ai jamais vraiment compris. Le code ci-dessus fonctionne pour 3 numéros, cependant, en ajoutant plus de causes pour ne pas les trier...j'ai essayé de dépannage du mieux que je le pouvais, mais sans aucune connaissance des pointeurs, je ne sais pas ce que je cherche.
Merci pour l'aide!
testScores est déclaré en tant que pointeur vers un int, si vous souhaitez trier à l'aide de int * pointeurs, alors vous nedd passer int** dans votre fonction de tri. soit
Un conseil: lire des tutoriels sur les pointeurs et ce qu'ils sont et comment les utiliser avec les tableaux. Il rendra votre vie plus facile!
Est-ce devoirs? Si oui, le tag avec les 'devoirs' de la balise. Si non, pourquoi utiliser le tri à bulles?
Knoeller: ce n'est pas vrai. Il avait seulement besoin de passer un pointeur de pointeur s'il essayait de changer lorsque le pointeur de points, qu'il ne l'est pas. Tant qu'il ne veut échanger autour des éléments souligné, un simple pointeur est fine.
J'ai lu le chapitre et quelques sites web, simplement ne pas saisir pour une raison quelconque. @Mark Byers Parce que je suis encore en train d'apprendre les pointeurs, une fois que je suis plus à l'aise avec eux, je ne vais pas utiliser le tri simple des formes de Tri à Bulles.
int ** testScores
ou int* testScores[]
, la deuxième forme est plus clair, je pense.Un conseil: lire des tutoriels sur les pointeurs et ce qu'ils sont et comment les utiliser avec les tableaux. Il rendra votre vie plus facile!
Est-ce devoirs? Si oui, le tag avec les 'devoirs' de la balise. Si non, pourquoi utiliser le tri à bulles?
Knoeller: ce n'est pas vrai. Il avait seulement besoin de passer un pointeur de pointeur s'il essayait de changer lorsque le pointeur de points, qu'il ne l'est pas. Tant qu'il ne veut échanger autour des éléments souligné, un simple pointeur est fine.
J'ai lu le chapitre et quelques sites web, simplement ne pas saisir pour une raison quelconque. @Mark Byers Parce que je suis encore en train d'apprendre les pointeurs, une fois que je suis plus à l'aise avec eux, je ne vais pas utiliser le tri simple des formes de Tri à Bulles.
OriginalL'auteur Soully | 2010-02-06
Vous devez vous connecter pour publier un commentaire.
Vous problème est peut-être ici:
Vouliez-vous dire:
(À noter que j'ai remplacé par j).
btw, dans le tri à Bulles, si il n'y a pas de swaps, vous devez rompre. Cela entraînera une vitesse qui peut atteindre dans certains cas.
Oui, alors j'ai juste claqué ma tête sur mon bureau. En effet, je ne veux dire j et ai-je pas, pensé que ce serait quelque chose de simple comme ça. Merci pour le regard neuf!
Oui, votre utilisation du pointeur semble très bien. Seulement vos compétences en dactylographie besoin d'amélioration 🙂
OriginalL'auteur
De tri à bulles fonctionne de la même peu importe si vous parlez d'un tableau ou d'une liste chaînée (pointeurs).
Le seul hic, c'est que, plutôt que de la permutation de deux éléments adjacents dans un tableau, vous échangez pointeur de valeurs entre les deux adjacentes éléments de la liste.
L'algorithme est le même.
Votre réponse suppose que j'ai payé l'attention suffit de regarder son code. Bad /. les habitudes.
OriginalL'auteur joejoeson