Valeri173

Вмъкване на елемент в сортиран масив

May 17th, 2020
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.59 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3.  
  4. public class Main10 {
  5.     public static void QuickSort(int[] arr, int low, int high) {
  6.         if(arr == null || arr.length == 0)
  7.             return;
  8.         if(low >= high)
  9.             return;
  10.  
  11.         int middle = low + (high - low) / 2;
  12.         int pivot = arr[middle];
  13.  
  14.         int i = low, j = high;
  15.         while (i <= j){
  16.             while (arr[i] < pivot){
  17.                 i++;
  18.             }
  19.             while (arr[j] > pivot){
  20.                 j--;
  21.             }
  22.             if(i <= j){
  23.                 int temp = arr[i];
  24.                 arr[i] = arr[j];
  25.                 arr[j] = temp;
  26.                 i++;
  27.                 j--;
  28.             }
  29.         }
  30.         if(low < j)
  31.             QuickSort(arr, low, j);
  32.         if(high > i)
  33.             QuickSort(arr, i, high);
  34.     }
  35.  
  36.     public static int[] addX(int n, int arr[], int x)
  37.     {
  38.         int i;
  39.  
  40.         int newArr[] = new int[n + 1];
  41.  
  42.         for (i = 0; i < n; i++)
  43.             newArr[i] = arr[i];
  44.  
  45.         newArr[n] = x;
  46.  
  47.         return newArr;
  48.     }
  49.  
  50.     public static void main(String[] args) {
  51.         Scanner scan = new Scanner(System.in);
  52.         int N = scan.nextInt();
  53.  
  54.         int arr[] = new int[N];
  55.         for (int a = 0; a < N; a++) {
  56.             arr[a] = scan.nextInt();
  57.         }
  58.         int n = N;
  59.         int i;
  60.  
  61.         int x = scan.nextInt();
  62.  
  63.  
  64.         arr = addX(n, arr, x);
  65.         int low = 0;
  66.         int high = arr.length - 1;
  67.  
  68.         QuickSort(arr, low, high);
  69.  
  70.         System.out.println(Arrays.toString(arr));
  71.     }
  72. }
Add Comment
Please, Sign In to add comment