Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > сортировка


Автор: spbsmile 8.7.2011, 17:23
Здравствуйте! 

для реализации сортировки есть 2 решения 
1) реализация интерфейса Comparable 
2) реализация своего собственного компаратора 
после этого вызывается метод sort 

Объясните пожалуста: 
если у меня дано задание: 
Кодирование должно быть реализовано самостоятельно без использования стандартной функциональности платформы 
Это значит метод №2?

Добавлено через 3 минуты и 45 секунд

Сортировка символов по алфавиту.

Автор: Dimasgsm 8.7.2011, 17:31
А какие у тебя входные данные? Массив символов, которые нужно сортировать по алфавиту?

Автор: spbsmile 8.7.2011, 17:32
Да!) массив символов , который надо отсортировать по алфавиту!

Автор: Dimasgsm 8.7.2011, 17:37
так "пузырьковым" методом отсортируй и все... самая простая сортировка..

Автор: spbsmile 8.7.2011, 17:54
а сортировка пузырьком применима к символам?
просто на цифрах я понимаю смысл


 for (int i=0; i < n-pass; i++) {
            if (x[i] > x[i+1]) {
                // exchange elements
                int temp = x[i];  x[i] = x[i+1];  x[i+1] = temp;


а как компилятор будет сравнивать :
ddd
aaa
ccc
vvv
??

Автор: NoliX 10.7.2011, 13:13
Цитата(spbsmile @  8.7.2011,  17:23 Найти цитируемый пост)
для реализации сортировки есть 2 решения 
1) реализация интерфейса Comparable 
2) реализация своего собственного компаратора 
после этого вызывается метод sort 

Это и есть "использования стандартной функциональности платформы"


Цитата(spbsmile @  8.7.2011,  17:54 Найти цитируемый пост)
а сортировка пузырьком применима к символам?

Любую сортировку можно применить к любому множеству на котором задан порядок, то есть математические операции сравнения >,  < и ==.
Для примитивных типов они поддерживаются на уровне языка. Объектам, как уже было сказано, приходится либо реализовывать интерфейс Comparable, либо использовать Comparator. Используя Comparator можно реализовать свой порядок. Например, строки можно отсортировать не в стандартном лексикографическом порядке, а, в порядке возрастания количества символов. 

Для типа char стандартное сравнение операторами <, >, == происходит по кодам символов в кодировке Unicode. Так, например, символ '=' меньше символа '?', так как встречается раньше его в таблице символов. http://www.google.ru/search?q=unicode+table

Цитата(spbsmile @  8.7.2011,  17:54 Найти цитируемый пост)
ddd
aaa
ccc
vvv

это строки, а не символы)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)