В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Alisarive
Alisarive
16.02.2022 19:24 •  Информатика

В массиве могут встречаться только цифры от 0 до 9. Запишите массив подсчёта (только значения, через пробел) перед выводом ответа, если исходный неотсортированный массив равен , не знаю что делать

Показать ответ
Ответ:
miloft
miloft
21.06.2021 12:12

Язык — Java

import java.util.Arrays;

 

public class Znanija {

 public static void countingSort(int[] array) {

   int min, max;

 max = min = array[0];

 for (int i = 1; i < array.length; i++) {

   if (array[i] < min) {

     min = array[i];

   }

   if (array[i] > max) {

     max = array[i];

   }

 }

 // создаем массив счетчиков

 int[] count = new int[max - min + 1];

 // считаем сколько раз встречается каждое число

 for (int i = 0; i < array.length; i++) {

  // берем нужный счетчик и добавляем к нему +1

   count[array[i] - min]++;

 }

 int idx = 0;

 // пробегаем по всем счетчикам

 // count[i] - показывает сколько раз встречается то или иное число

 for (int i = 0; i < count.length; i++) {

   for (int j = 0; j < count[i]; j++) {

     array[idx++] = i + min;

   }

 }

   

 }

 public static void main(String[] args) {

 int []arr = {2, 0, 8, 1, 6, 8, 3, 7, 2, 6, 2, 1, 5, 2, 4};

System.out.println("Массив до сортировки:" + "\n" + Arrays.toString(arr));

 

countingSort(arr);//сортировка

 

System.out.println("\nМассив после сортировки:" + "\n" + Arrays.toString(arr));

  }

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота