Есть сортировка методами Хоара, QuickSort(secondMethod) и методом пузырька(firstMethod)... но почему код не работает?
import java.io.BufferedReader;
import java.util.Random;
import java.io.IOException;
import java.io.InputStreamReader;
public static void firstMethod(int[] a)
{
int n = a.length;
int temp = 0;
for (int i = 0; i < n; i++)
{
for (int j = 1; j < (n - i); j++)
{
if (a[j - 1] > a[j])
{
temp = a[j - 1];
a[j - 1] = a[j];
a[j] = temp;
}
}
}
}
public static void quickSort(int[] a, int l, int r)
{
int i = l, j = r, m = a[l + (r - l) / 2];
do
{
while (a[i] < m)
{
++i;
}
while (a[j] > m)
{
--j;
}
if (i <= j)
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
i++;
j--;
}
} while (i <= j);
if (j > l)
{
quickSort(a, l, j);
}
if (r > i)
{
quickSort(a, i, r);
}
}
public static void randomNum(int[] a)
{
Random rnd = new Random();
for (int i = 0; i < a.length; i++)
{
a[i] = rnd.nextInt(1000) + 50;
}
}
public static void decreaseNum(int[] a)
{
Random rnd = new Random();
int b = rnd.nextInt(1000);
for (int i = 0; i < a.length; i++)
{
a[i] = b--;
}
}
public static void increaseNum(int[] a)
{
Random rnd = new Random();
int b = rnd.nextInt(100);
for (int i = 0; i < a.length; i++)
{
a[i] = b++;
}
}
public static void secondMethod(int[] a)
{
quickSort(a, 0, a.length - 1);
}
public static void main(String[] args)
{
String s;
int c, k, n;
BufferedReader reader1 = new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.println("Method: ");
s = reader1.readLine();
k = Integer.parseInt(s);
} catch (IOException e)
{
System.out.println("IO error!");
return;
}
try
{
System.out.println("Count: ");
s = reader1.readLine();
n = Integer.parseInt(s);
} catch (IOException e)
{
System.out.println("IO error!");
return;
}
int A[] = new int[n];
System.out.println("Items: ");
randomNum(A);
decreaseNum(A);
increaseNum(A);
for (int i = 0; i < n; i++)
{
try
{
s = reader1.readLine();
A[i] = Integer.parseInt(s);
} catch (IOException | NumberFormatException e)
{
System.out.println("IO error!");
return;
}
}
if (k == 1)
{
firstMethod(A);
}
if (k == 2)
{
secondMethod(A);
}
System.out.println("Sorted: ");
for (int i = 0; i < n; i++)
{
System.out.print(A[i] + " ");
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеЕсть строка наподобие этой: "Истомин Денис - Попырин Алексей 0-0(3-2) 40:15 adv"
Делаю запрос в ВК апи что бы получить список всех альбомовДанные приходят все что должны прийти кроме ID альбома что очень важно в мое случае
Добрый день, друзьяЯ новичок в программировании и в данный момент клепаю простое приложение-напоминалку
Имеется checkbox в item menu, не получается сохранять его позицию(чекнут или не чекнут)