Упражнения Java: алгоритм сортировки выбора
Алгоритм сортировки Java: упражнение 6 с решением
Напишите Java-программу для сортировки массива заданных целых чисел с использованием алгоритма выбора сортировки.
Согласно Википедии «В компьютерных науках сортировка по выбору является алгоритмом сортировки, в частности, сортировкой по месту». Он имеет O (n2) временную сложность, что делает его неэффективным в больших списках, и, как правило, работает хуже, чем аналогичный тип вставки ».
Замечания:
а) найти максимум элементов
б) поменять местами два элемента
Наглядная презентация - Алгоритм поиска выбора:
Пример решения:
Java-код:
import java.util.Arrays;
public class SelectionSort {
public static void sort(int[] nums)
{
for(int currentPlace = 0;currentPlace<nums.length-1;currentPlace++){
int smallest = Integer.MAX_VALUE;
int smallestAt = currentPlace+1;
for(int check = currentPlace; check<nums.length;check++){
if(nums[check]<smallest){
smallestAt = check;
smallest = nums[check];
}
}
int temp = nums[currentPlace];
nums[currentPlace] = nums[smallestAt];
nums[smallestAt] = temp;
}
}
// Method to test above
public static void main(String args[])
{
SelectionSort ob = new SelectionSort();
int nums[] = {7, -5, 3, 2, 1, 0, 45};
System.out.println("Original Array:");
System.out.println(Arrays.toString(nums));
ob.sort(nums);
System.out.println("Sorted Array:");
System.out.println(Arrays.toString(nums));
}
}
Пример вывода:
Оригинальный массив: [7, -5, 3, 2, 1, 0, 45] Сортированный массив: [-5, 0, 1, 2, 3, 7, 45]
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите Java-программу для сортировки массива заданных целых чисел с использованием алгоритма выбора сортировки.
Далее: Напишите программу на Java для сортировки массива заданных целых чисел с помощью алгоритма сортировки вставками.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования