public class MergeSort {
public static void main(String[] args) {
int[] A = {6,5,12,10,9,1};
sort(A); //saralashni boshlash
System.out.println(Arrays.toString(A)); //natijani chop qilish
}
private static void sort(int[] array) {
if(array.length<=1){ //massiv qismlarini elementlar sonin aniqlash
return; //1 dan kichik yoki teng bo`lsa ajratishni to`xtatish
}
int leftSize = array.length/2; //chap tomon bo`lak uzunligini aniqlash
int rightSize = array.length-leftSize; //o`ng tomon bo`lak uzunligini aniqlash
int[] left = Arrays.copyOfRange(array, 0, leftSize); //mos ravishda o`ng va chap
int[] right = Arrays.copyOfRange(array, leftSize, leftSize+rightSize); //submassivlarga ajratish
sort(left); //rekursiya orqali
sort(right); //bo`laklarga ajratish
merge(array, left, right); //to`g`ri tartibda birlashtirish
}
Do'stlaringiz bilan baham: |