Professional Documents
Culture Documents
сортування
сортування
Код програми:
package сортировка;
import java.util.Arrays;
public class Массив_1
{
public static void main(String[] args)
{
int[] array = {1, 2, 3, 4, 5, 0};
//Array method
2
Arrays.sort(array);
System.out.print(Arrays.toString(array));
}
}
Результат:
[0, 1, 2, 3, 4, 5]
Код програми:
package сортировка;
import java.util.Arrays;
public class Массив_2
{
public static void main(String[] args)
{
int[] array = {1, 2, 3, 4, 5, 0};
for (int b = 0; b < array.length; b++) {
for (int i = 0; i < array.length - 1; i++) {
if (array[i] > array[i+1]) {
3
Код програми:
package сортировка;
public class МетодВибору
{
public static void main(String[] args)
{
int[] array = {1, 3, 4, 2, 5, 0};
for (int i = 0; i < array.length - 1; i++) {
int min = i;
for (int j = i; j < array.length; j++) {
if (array[min] < array[j]) {
min = j;
}
}
int temp = array[i];
array[i] = array[min];
array[min] = temp;
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
}
Результат:
543210
5
Код програми:
package сортировка;
import java.util.Arrays;
public class InsertSort
{
public static void main(String[] args)
{
int[] array = {10,20,50,5,100,80,1000,0,300,200};
for (int i = 1; i < array.length; i++)
{
int current = array[i];
6
int j = i - 1;
while(j >= 0 && current < array[j]) {
array[j+1] = array[j];
j--;
}
// в этой точке мы вышли, так что j так же -1
// или в первом элементе, где текущий >= a[j]
array[j+1] = current;
}
System.out.println(Arrays.toString(array));
}
}
Результат:
[0, 5, 10, 20, 50, 80, 100, 200, 300, 1000]
Код програми:
package сортировка;
import java.util.Arrays;
public class ShellSort
{
public static void main(String[] args)
{
int[] array = {10,20,50,5,100,80,1000,0,300,200};
int n = array.length;
int i, j, step;
int tmp;
for (step = n / 2; step > 0; step /= 2) {
for (i = step; i < n; i++) {
tmp = array[i];
for (j = i; j >= step; j -= step) {
8
Код програми:
package сортировка;
import java.util.Arrays;
public class CocktailSort
{
public static void main(String[] args)
{
int[] array = {10,20,50,5,100,80,1000,0,300,200};
int left = 0;
int right = array.length - 1;
int temp;
while (left < right) {
for (int i = left; i < right; i++) {
if (array[i] > array[i + 1]) {
temp = array[i];
10
array[i] = array[i+1];
array[i+1] = temp;
}
}
right--;
for (int i = right; i > left; i--) {
if (array[i] < array[i - 1]) {
temp = array[i];
array[i] = array[i - 1];
array[i - 1] = temp;
}
}
left++;
}
System.out.println(Arrays.toString(array));
}
}
Результат:
[0, 5, 10, 20, 50, 80, 100, 200, 300, 1000]
Код програми:
package сортировка;
import java.util.Scanner;
import java.util.Arrays;
public class Массив_1_Ввод
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int array[];
int counter;
int num = in.nextInt();
array = new int[num];
System.out.print("Input " + num + " numbers");
for (counter = 0; counter < num; counter++)
{
12
array[counter] = in.nextInt();
}
}
}
Результат:
5
Input 5 numbers
6
1
10
-67
4