Laman

Jumat, 04 November 2011

source code program mergesort

package merge_sort;
public class Main {
    public static void main(String[] args) {
       
        int i;
    int array[] = {12,9,4,99,120,1,3,10};
    System.out.print("nilai sebelum:\n");
        for(i = 0; i < array.length; i++)
    System.out.print( array[i]+"  ");
    System.out.println();
    mergeSort_srt(array,0, array.length-1);
    System.out.print("setelah sorting:\n");
    for(i = 0; i <array.length; i++)
      System.out.print(array[i]+"  ");
    System.out.println();
   
  }


  public static void mergeSort_srt(int array[],int lo, int n){
    int low = lo;
    int high = n;
    if (low >= high) {
      return;
    }

    int middle = (low + high) / 2;
    mergeSort_srt(array, low, middle);
        mergeSort_srt(array, middle + 1, high);
    int end_low = middle;
    int start_high = middle + 1;

    while ((lo <= end_low) && (start_high <= high)) {
      if (array[low] < array[start_high]) {
        low++;
            } else {
        int Temp = array[start_high];
        for (int k = start_high- 1; k >= low; k--) {
          array[k+1] = array[k];
        }
                array[low] = Temp;
                low++;
                end_low++;
                start_high++;
            }
        }
    }


}

Tidak ada komentar:

Posting Komentar