виды сортировок массивов java



сортировка в java

Автор Monolit задал вопрос в разделе Другие языки и технологии

как отсортировать одномерный массив в java по порядку возрастания и получил лучший ответ

Ответ от Neo[активный]
uses crt;
const SIZE=20;
type data = byte;
var Queue : array[1..size] of data;
first, last : integer;
a: data;
i, j, k: integer;
begin
clrscr;
randomize;
for j:=1 to size do
begin
Queue[j]:=random(50);
write(' ',Queue[j]);
end;
writeln;
writeln(' --/--');
for i:= 1 to SIZE-1 do
for j:= 1 to SIZE-i do
if Queue[j]>Queue[j+1] then
begin
k:=Queue[j];
Queue[j]:=Queue[j+1];
Queue[j+1]:=k;
end;
for i:= 1 to size do
write (' ',Queue)
end.
Сортировка выбором
for (int i = 0; i < a.length; i++) {
/* Предполагаем, что начальный элемент рассматриваемого
* фрагмента и будет минимальным.
*/
int min = a; // Предполагаемый минимальный элемент
int imin = i; // Индекс минимального элемента
/* Просматриваем оставшийся фрагмент массива и ищем там
* элемент, меньший предположенного минимума.
*/
for (int j = i+1; j < a.length; j++) {
/* Если находим новый минимум, то запоминаем его индекс.
* И обновляем значение минимума.
*/
if (a[j] < min) {
min = a[j];
imin = j;
}
}
/* Проверяем, нашёлся ли элемент меньше, чем стоит на
* текущей позиции. Если нашёлся, то меняем элементы местами.
*/
if (i != imin) {
int temp = a;
a = a[imin];
a[imin] = temp;
}
}
Сортировка пузырьком
/* Внешний цикл постоянно сужает фрагмент массива,
* который будет рассматриваться, ведь после каждого прохода
* внутреннего цикла на последнем месте фрагмента будет
* оказываться нужный элемент (его не надо рассматривать снова) .
*/
for (int i = a.length - 1; i >= 2; i--) {
/* В переменной sorted мы будем хранить признак того,
* отсортирован ли массив. Перед каждым проходом внутреннего
* цкла будем предполагать, что отсортирован, но если совершим
* хоть одну перестановку, то значит ещё не конца отсортирован.
* Этот приём, упрощающий сортировку, называется критерием Айверсона.
*/
boolean sorted = true;
/* Во внутреннем цикле мы проходимся по фрагменту массива, который
* определяется внешним циклом. В этом фрагменте мы устанавливаем
* правильный порядок между соседними элементами, так попарно
* обрабатывая весь фрагмент.
*/
for (int j = 0; j < i; j++) {
/* Если порядок соседних элементов не правильный, то их
* надо обменять местами. И запомнить, что была перестановка.
*/
if (a[j] > a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
sorted = false;
}
}
/* Если массив отсортирован (т. е. не было ни одной перестановки
* во внутреннем цикле, значит можно прекращать работу внешнего
* цикла.
*/
if(sorted) {
break;
}
}
Источник: Пример на сортировке массива из 20 элементов

Ответ от Андрей Севастьянов[гуру]
Гуглите -- и обрящете:

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: как отсортировать одномерный массив в java по порядку возрастания
спросили в Jeep
Что такое объекты в Java?
1. Изучать Java надо не с ООП, а с императивного процедурного программирования. Так что не с того
подробнее...

зачем нужны параметры методов в java
ЧТобы передать в метод какие-либо значения
Imobilazer
Искусственный Интеллектподробнее...
спросили в Павел IV
ПОМОГИТЕ ПОЖАЛУЙСТА!!! Нужно написать Гномью сортировку на JAVA!
В чём проблема? У тебя уже есть код. Перекатай один в один. Только swap не реализован, но
подробнее...

сортировка пузырьком java Метод "пузырек" можете объяснить значение и роль каждого элемента алгоритма ???
У тебя есть массив из n элементов, ты n-1 раз делаешь проход от 1 до n-1 и сравниваешь i-й элемент
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

объясните, пожалуйста, что такое comparable и comparator в java.
Да в общем всё в доке есть.
Могу добавить свои пять копеек.
Если упорядоченность
подробнее...

Написать метод java для извлечения самого длинного слова из файла
в твоем коде не стал разбираться, мне впадлу. вот вариант работоспособный и короткий
подробнее...

(JAVA) Чем отличается Форма JPanel и Форма JFrame? И что такое Интерфейс Java ?
Тем, что JPanel располагается внутри формы.
Максим
(109960)
Интерфейс ява это
подробнее...
спросили в Конец
Как дописывать инфу в конец типизированого файла в Pascal'e?
Доброго времени суток.

В правильном направлении вы двигались. Именно через Seek. Вот
подробнее...
спросили в C S I
Сортировка строки по алфавиту (C#)
Ну к примеру с помощью любой сортировки - пузырьком или чем угодно.

Адам
подробнее...
спросили в Java ME
Как понять ООП?
ну так и не дёргайся... или это
подробнее...

Сортировка пузырьком. Java
Я конечно не спец, но попробуй
for(int i = a.length - 1; i > 0; i--)
замени наподробнее...
спросили в Музыка
как скачать аудио треки из "контакта" или mail.ru?
http://videosaver.ru

Как скачать аудио треки с ВКонтакте.Ру

Как скачать аудио
подробнее...
Список персонажей телесериала «Хор» на Википедии
Посмотрите статью на википедии про Список персонажей телесериала «Хор»
Спектр-Гатчина на Википедии
Посмотрите статью на википедии про Спектр-Гатчина
Спектрозональная съёмка на Википедии
Посмотрите статью на википедии про Спектрозональная съёмка
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*