Ceci est édité,Faire une fonction récursive de tri en C++
Iam écrire un programme qui triera un tableau en utilisant récursion. Le programme obtiendra les valeurs du tableau à partir d'un fichier texte. Ma question est comment puis-je faire une fonction de tri qui va trier le tableau en ordre numérique ascendant (croissant).
que je dois faire ces étapes,
- Trouver le plus petit élément dans le tableau
- Déplacer cet élément dans la première position du tableau
- Trier le reste du tableau en faisant un récursif appel à la fonction de tri
Et voici ce que j'ai jusqu'à présent,
int main()
{
cout << "Enter a file name";
cin >> fileName;
ifstream inputFile;
inputFile.open("fileName.txt");
if(inputFile.fail())
{
cout << "ERROR: Your file did not open" << endl;
} return 1; System("pause");
int usedVariable;
if(inputFile >> usedVariable)
{
usedVariable + 1;
} usedVariable++;
else
{
inputFile.close();
cout << "ERROR: There are no integers in the file";
exit(1);
}
int *x;
x = new int [usedVariable];
inputFile.clear();
infile.seekg(0, ios::beg)
inputFile >> x;
inputFile.close();
}
Alors, comment je fais ça?
Merci à tous
Ce n'est pas une recherche binaire, c'est un tri par sélection. –
Si vous pouvez effectuer une recherche binaire, votre tableau est déjà trié. –
... et pourquoi feriez-vous un tri par sélection récursive? Que pensez-vous que vous gagnez sur l'itération dans ce cas? –