Skip to main content

Move all negative elements to end in java

Java program for Move all negative elements to end. Here mentioned other language solution.

// Java program for
// Move all negative elements at the end of array
public class MyArray
{
    // Display array elements
    public void display(int[] arr, int n)
    {
        for (int i = 0; i < n; i++)
        {
            System.out.print("  " + arr[i]);
        }
        System.out.println();
    }
    // Swap the given array elements
    public void swap(int[] arr, int start, int end)
    {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
    }
    // Method which is move negative elements
    public void moveNegative(int[] arr, int n)
    {
        // first index
        int i = 0;
        // last index
        int j = n - 1;
        while (i < j)
        {
            if (arr[i] < 0 && arr[j] >= 0)
            {
                // When [i] index are have negative value 
                // And [j] is positive then swapping elements values
                swap(arr, i, j);
                // Modified index
                i++;
                j--;
            }
            else if (arr[i] >= 0)
            {
                // When element of [i] is not negative
                i++;
            }
            else
            {
                j--;
            }
        }
    }
    public static void main(String[] args)
    {
        MyArray task = new MyArray();
        // Array which are containing positive and negative values
        int[] arr = {
            1 , -1 , 3 , 2 , -7 , -5 , 11 , 6
        };  
        int n = arr.length;
      
        System.out.println("Before Arrange : ");
        // Before move element
        task.display(arr,n);
        // Move negative elements
        task.moveNegative(arr,n);
        // After arrange
        System.out.println("After Arrange : ");
        // After move element
        task.display(arr,n);
    }
}
Move all negative elements at the end of array

Output

Before Arrange :
  1  -1  3  2  -7  -5  11  6
After Arrange :
  1  6  3  2  11  -5  -7  -1




Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment