Reverse the given Array without using built in function

Objective: Given a array, write an algorithm to reverse the array.

Example:

int a[] = {1, 2, 3, 4, 5}
Output: {5, 4, 3, 2, 1}

Approach:

  • It’s obvious that you cannot use any built-in function reverse it.
  • It’s a simple solution, we will solve it using recursive and non-recursive way.
  • Take 2 elements at a time, one from the from start and one from the end and swap them.
  • Now for recursion, Make a recursive call to rest of the string and for non-recursive solution, use the for loop and swap the elements start +1 and end +1.

Code:

import java.util.*;
public class ReverseArray {
static int [] a;
public static void reverseIteration(){
int start =0;
int end = a.length1;
while(start<=end){
int temp = a[start];
a[start] = a[end];
a[end] = temp;
start++;
end;
}
}
public static void reverseRecursive(int start, int end){
if(start<=end){
int temp = a[start];
a[start] = a[end];
a[end] = temp;
start++;
end;
reverseRecursive(start, end);
}
}
public static void main(String[] args) {
a = new int []{1,2,3,4,5};
System.out.println("Original Array" + Arrays.toString(a));
reverseIteration();
System.out.println("Reversed – Array(Iteration):" + Arrays.toString(a));
reverseRecursive(0,a.length1);
System.out.println("Reversed Again – Array(Recursion):" + Arrays.toString(a));
}
}

view raw
ReverseArray.java
hosted with ❤ by GitHub

Output:

Original Array[1, 2, 3, 4, 5]
Reversed - Array(Iteration):[5, 4, 3, 2, 1]
Reversed Again - Array(Recursion):[1, 2, 3, 4, 5]