Top.Mail.Ru
Ответы
Аватар пользователя
6лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Как эта функция сортирует массив по алфавиту? C++

Не пойму, в массиве могут хранится абсолютно разные слова, как она выполняет сортировку, если даже алфавит никак и нигде не обозначался?

void sortArray(std::string *array, int length)
{
// перебираем каждый элемент в массиве
for (int i = 0; i < length; ++i)
{
// smallestIndex - индекс наименьшего элемента, с которым мы столкнулись
int smallestIndex = i;

// ищем наименьший элемент, который остался в массиве (начиная с i+1)
for (int j = i + 1; j < length; ++j)
{
// если текущий элемент меньше нашего ранее найденного наименьшего элемента
if (array[j] < array[smallestIndex])
// тогда это новое наименьшее число в этой итерации
smallestIndex = j;
}

// меняем местами наш начальный элемент с найденным наименьшим элементом в массиве
std::swap(array[i], array[smallestIndex]);
}
}

По дате
По рейтингу
Аватар пользователя
Новичок
6лет

> если даже алфавит никак и нигде не обозначался?
В кодовых таблицах символы как правило расположены по алфавиту, если это ВНЕЗАПНО не так - используются collation tables. В любом случае, компьютер умеет сравнивать циферки, не сомневайся.