sort an array using merge sort algorithm in java

sort an array using merge sort algorithm in java
/**
 * @author lautturi.com 
 * Java example: merge sort algorithm in java
 */

import java.util.*;

public class Lautturi {

	static void merge(int[] arr, int[] left_half, int[] right_half, int left_len, int right_len) {
		int i = 0, j = 0, k = 0;

		while (i < left_len && j < right_len) {
			if (left_half[i] < right_half[j]) {
				arr[k++] = left_half[i++];
			} else {
				arr[k++] = right_half[j++];
			}
		}
		while (i < left_len) {
			arr[k++] = left_half[i++];
		}
		while (j < right_len) {
			arr[k++] = right_half[j++];
		}
	}

	public static void mergeSort(int[] a, int n) {
		if (n < 2) {
			return;
		}
		int mid = n / 2;
		int[] l = new int[mid];
		int[] r = new int[n - mid];

		for (int i = 0; i < mid; i++) {
			l[i] = a[i];
		}
		for (int i = mid; i < n; i++) {
			r[i - mid] = a[i];
		}
		mergeSort(l, mid);
		mergeSort(r, n - mid);

		merge(a, l, r, mid, n - mid);
	}

	public static void main(String[] args) {
		int[] numbers = { 11, 4, 2, 7, 55, 16, 12, 8, 13, 38 };

		System.out.println(Arrays.toString(numbers));
		mergeSort(numbers, numbers.length); //  sorting an array using mergeSort algorithm
		System.out.println(Arrays.toString(numbers));

	}

}
Sou‮r‬ce:www.lautturi.com

output:

[11, 4, 2, 7, 55, 16, 12, 8, 13, 38]
[2, 4, 7, 8, 11, 12, 13, 16, 38, 55]
Created Time:2017-10-04 22:57:27  Author:lautturi