У меня есть задача в школе, где я должен заказать массив с фамилией: "Čop", "Dugonik" and "Caf"
по словенскому алфавиту. Без "Čop"
он работает с простым "bubble sort"
, но с "Čop"
я не могу заставить его работать. Я сравниваю символы по таблице ASCII. Словенский алфавит идет: A, B, C, Č, D, ... Любые идеи? Он работает, когда я сортирую его по алфавиту ENG. Я сравниваю 2 фамилии с этой функцией (+ 1 простая функция пузырьковой сортировки для сортировки):Как сортировать слова с пользовательскими символами (без метода сортировки/функции)?
static bool Uredi(Stranka stranka1, Stranka stranka2)
{
bool prviJeManjši = false;
int dolžinaKrajšegaPriimka;
// zagotovi da nebo prvi priimek daljši od drugega
if (stranka1.priimek.Length > stranka2.priimek.Length)
{
dolžinaKrajšegaPriimka = stranka2.priimek.Length;
}
else
{
dolžinaKrajšegaPriimka = stranka1.priimek.Length;
}
for (int i = 0; i < dolžinaKrajšeBesede; i++)
{
if ((char)stranka1.priimek[i] < (char)stranka2.priimek[i])
{
prviJeManjši = true;
break;
}
}
return prviJeManjši;
}
Любой код для публикации? –
Вы должны полностью отделить свой алгоритм сортировки от своего компаратора. У вас должен быть компаратор, который несет исключительную ответственность, чтобы получить две строки и указать, что на первом месте. Затем алгоритм сортировки может быть предоставлен для сравнения, а затем может сортировать что угодно, исходя из любых критериев. – Servy
Сравнение строк по умолчанию для меня дает результаты, которые вы говорите, что они должны. – Servy