Могу реализовать разные сортировки, но с сортировкой подсчетом встречаюсь впервые.
Как реализовать этот алгоритм?Не получается запустить счетчик
int nums[] = {1, 3, 1, 2, 4, 4, 3, 2, 3, 1};
int a[] = new int[10];
int count[] = {};
int i, j;
for (i = 0; i < 4; i++) {
count[i] = 0;
}
for (j = 0; j < 10; j++) {
count[nums[j]] = count[nums[j]] + 1;
System.out.println(count[j]);
}
Сортировка подсчетом подразумевает создание корзин (buckets), в каждой из которых хранится количество элементов исходного массива, значение которых совпадает с индексом корзины. Соответственно, нужно иметь корзины, индексы которых будут от минимального значения массива до максимального.
При использовании массива для хранения корзин индексы будут от 0
до X
. Чтобы при этом можно было работать с отрицательными числами, а также чтобы не хранить ненужные значения от 0
до минимального значения из массива, имеет смысл перед сортировкой (или непосредственно перед добавлением в корзину) вычесть из всех элементов массива минимум, а после сортировки (при извлечении из корзины) - добавить его обратно.
В итоге получается так:
public static void sort(int[] array)
{
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int element : array)
{
if (element < min)
{
min = element;
}
if (element > max)
{
max = element;
}
}
int[] buckets = new int[max - min + 1];
for (int element : array)
{
buckets[element - min]++;
}
int arrayIndex = 0;
for (int i = 0; i < buckets.length; i++)
{
for (int j = buckets[i]; j > 0; j--)
{
array[arrayIndex++] = i + min;
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Дан массив A[6,6]Построить массив В(6) по следующему правилу: В(J) присвоить 1, если в J-ом столбце массива А количество ненулевых элементов больше...
Есть кнопка, вместо текста код отображения символа \u232B в окне редактора все отображается правильно как показано на скрине, но при запуске...
Привет всем! Учу CSS и не получается сделать появление закрывающей кнопки (close) при открытии модального окна