Write array methods that carry out the following tasks A and
Write array methods that carry out the following tasks A and B, respectively, for an array of integers by completing the ArrayMethods class below.
Public class ArrayMethods
{ private int[ ] values; public ArrayMethods (int[ ] initialValues)
{values = initalValues; }
public boolean isIncreasingOrder( ) { … }
public void sortIncOrder( ) { … } }
A. Return true if the array is currently sorted in increasing order, otherwise return false.
B. Sort the array in an increasing order.
Write a program that initializes an array with a sequence of random numbers, displays the array, test the two methods, and displays the method call results (Boolean value and the sorted array).
Solution
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
 package chegg;
public class ArrayMethods
{
     private int[] values;
   
     public ArrayMethods (int[] initialValues)
     {
         values = initialValues;
     }
    public boolean isIncreasingOrder()
     {
         boolean result = true;
       
         for(int i=1;i<values.length;i++)
         {
             if(values[i-1]>values[i])
             {
                 result = false;
                 break;
             }
         }
         return result;
     }
   
     public void printArray()
     {
         for(int i=0;i<values.length;i++)
             System.out.print(values[i] + \" \");
         System.out.println();
     }
   
     private int partitionArray (int arr[], int start, int end)
     {
         int pivot = arr[end]; // pivot
         int smaller = (start - 1); // Index of smaller element
         int temp;
        for (int j = start; j <= end- 1; j++)
         {
             if (arr[j] <= pivot)
             {
                 smaller++;
                 temp = arr[smaller];
                 arr[smaller] = arr[j];
                 arr[j] = temp;
             }
         }
        temp = arr[smaller+1];
         arr[smaller+1] = arr[end];
         arr[end] = temp;
        return (smaller + 1);
     }
 
     private void quickSort(int arr[], int start, int end)
     {
         if(arr == null)
         {
             System.out.println(\"Please pass a valid array.\");
             return;
         }
         if (start < end)
         {
             //Partition the array based on the partition function defined.
             int partition_index = partitionArray(arr, start, end);
             // Separately sort elements before
             // partition and after partition
             quickSort(arr, start, partition_index - 1);
             quickSort(arr, partition_index + 1, end);
         }
     }
     public void sortIncOrder()
     {
         quickSort(values, 0, values.length-1);
     }
 }
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
 package chegg;
public class TestArrayMethod {
   
     public static void main(String[] args)
     {
         int[] arr = {5,4,3,2,1};
         ArrayMethods a = new ArrayMethods(arr);
       
         if(a.isIncreasingOrder()==true)
             System.out.println(\"Elements of array are already sorted.\");
         else
         {
             System.out.println(\"Elements of array are not sorted.Sorting Array elements : \ \");
             a.sortIncOrder();
             System.out.println(\"Array elements after sorting are : \");
             a.printArray();
         }
     }
 }
OUTPUT:
run:
 Elements of array are not sorted.Sorting Array elements :
Array elements after sorting are :
 1 2 3 4 5
 BUILD SUCCESSFUL (total time: 0 seconds)



