Я пытаюсь создать алгоритм сортировки выбора, который принимает массив случайных строк и сортирует его. Я посмотрел в Интернете и в своей книге, чтобы попытаться смоделировать свой код, и это то, что я придумал. Я не уверен, где я ошибся, любая помощь будет оценена.
Here is how you load the array with the random strings:
string Sorter::randomString() {
string s = "";
for (int i = 0; i < MAX_CHARS; i++) {
char randomChar = char(rand() % 26 + 97);
s += randomChar;
}
return s;
}
void Sorter::load() {
for (int i = 0; i < MAX_STRINGS; i++)
workspace[i] = randomString();
Here is my selection sort:
void Sorter::selectionSort() {
for (int pass = 0; pass < MAX_STRINGS - 1; pass++) {
string smallest = workspace[pass];
for (int pos = pass + 1; pos < MAX_STRINGS - pass - 1; pos++) {
if (workspace[pos] > smallest) {
smallest = workspace[pos];
}
swap(workspace[pos], workspace[pass]);
}
}
}
Я ожидал, что рабочая область массива будет отсортирована, но это не так: (