кодесурса

Упражнения Java: алгоритм сортировки выбора

script1adsense2code
script1adsense3code

Алгоритм сортировки 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code