Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,938 questions

51,875 answers

573 users

How to rearrange a given sorted array in maximum minimum form with Java

2 Answers

0 votes
import java.util.ArrayList;

public class MyClass {
    private static void RearrangeArrayMaxMinForm(int[] array) {
    	int size = array.length;
    	
    	ArrayList<Integer> al = new ArrayList<Integer>();
    	
    	int left = 0;
    	int right = size - 1;
    	boolean odd_index = true;
    
    	for (int i = 0; i < size; i++) {
    		if (odd_index) {
    			al.add(array[right--]);
    		}
    		else {
    			al.add(array[left++]);
    		}
    		odd_index = !odd_index;
    	}
    
    	for (int i = 0; i < size; i++) {
    		array[i] = al.get(i);
    	}
    }

    private static void PrintArray(int[] array) {
    	for (int i = 0; i < array.length; i++) {
    		System.out.print(array[i] + " ");
    	}
    }
    public static void main(String args[]) {
        int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9};

	    RearrangeArrayMaxMinForm(array);

	    PrintArray(array);
    }
}





/*
run:
 
9 1 8 2 7 3 6 4 5 
 
*/

 



answered Sep 9, 2022 by avibootz
0 votes
public class MyClass {
    private static void ShiftArrayToRightFromIndex(int[] arr, int index) {
        int size = arr.length;
        
    	int temp = arr[size - 1];
    
    	for (int i = size - 1; i > index; i--) {
    		arr[i] = arr[i - 1];
    	}
    
    	arr[index] = temp;
    }

    private static void RearrangeArrayMaxMinForm(int[] arr) {
    	int size = arr.length;
    	
    	for (int i = 0; i < size; i += 2) {
    		ShiftArrayToRightFromIndex(arr, i);
    	}
    }
    
    private static void PrintArray(int[] array) {
    	for (int i = 0; i <  array.length; i++)	{
    		System.out.print(array[i] + " ");
    	}
    }
    public static void main(String args[]) {
        int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9};

	    RearrangeArrayMaxMinForm(array);

	    PrintArray(array);
    }
}








/*
run:
 
9 1 8 2 7 3 6 4 5 
 
*/

 



answered Sep 11, 2022 by avibootz
...