
100баллов. В массиве могут встречаться только цифры от 0 до 9. Запишите массив подсчёта (только
значения, через пробел) перед выводом ответа, если исходный неотсортированный массив равен [2, 0, 8, 1, 6, 8, 3, 7, 2, 6, 2, 1, 5, 2, 4]. Помогите пожалуйста срочно, не знаю что делать

Ответы на вопрос

Язык — 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 до 9 в исходном массиве. В итоге получим массив подсчёта:
0 1 2 3 4 5 6 7 8 9 1 2 4 1 1 1 2 1 2 0
Объяснение:
- 0 встречается 1 раз
- 1 встречается 2 раза
- 2 встречается 4 раза
- 3 встречается 1 раз
- 4 встречается 1 раз
- 5 встречается 1 раз
- 6 встречается 2 раза
- 7 встречается 1 раз
- 8 встречается 2 раза
- 9 встречается 0 раз
Если у вас есть какие-то дополнительные вопросы или вам нужно что-то ещё, пожалуйста, дайте знать!


Похожие вопросы
Топ вопросов за вчера в категории Информатика








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