sorting

Selection Sort:

public static void ssort(int a[]) {
        for(int i=0;i<a.length;i++) {
            int min = i;
            for(int j=i+1;j<a.length;j++) {
                if(a[min] > a[j]) {
                    min = j;
                }
            }
            int temp = a[min];
            a[min] = a[i];
            a[i] = temp;
        }

    }

===========
Insertion sort:

public static void iSort(int a[]) {
    for (int i = 0; i < a.length; i++) {
        int j =i;
        while(j>0) {
            if(a[j]<a[j-1]) {
            int temp = a[j-1];
            a[j-1] = a[i];
            a[i] = temp;
        }
        j--;
        }
    }
}

==================================
bubble sort:

 public static void bubuleSort(int a[]) {
        for (int i = 0; i < a.length - 1; i++) {
            for (int j = i + 1; j < a.length; j++) {
                if (a[j] < a[i]) {
                    int temp = a[j];
                    a[j] = a[i];
                    a[i] = temp;
                }
            }
        }
    }
QuickSort:
  for(int i=0;i= high){
   return;
  }
  int middle = low + (high - low) / 2;
  int pivot = arr[middle];
  int i = low, j = high;
  while (i <= j) {
   while (arr[i] < pivot) {
    i++;
   }
   while (arr[j] > pivot) {
    j--;
   }
   if (i <= j) {
    int temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
    i++;
    j--;
   }
  }
  if (low < j){
   quickSort(arr, low, j);
  }
  if (high > i){
   quickSort(arr, i, high);
  }
===============
MergeSort

static void mergeSort(int arr[], int start, int end) {
        if (start >= end)
            return;
        int mid = start + (end - start) / 2;
        mergeSort(arr, start, mid);
        mergeSort(arr, mid + 1, end);
        merge(arr, start, mid, end);
    }
  static void merge(int[] arr, int start, int mid, int end) {
        int i = start;
        int j = mid + 1;
        int counter = 0;
        int[] tempArr = new int[(end - start) + 1];
        while (i <= mid && j <= end) {
            if (arr[j] < arr[i]) {
                tempArr[counter] = arr[j];
                j++;
            } else {
                tempArr[counter] = arr[i];
                i++;
            }
            counter++;
        }
        while (i <= mid) {
            tempArr[counter] = arr[i];
            i++;
            counter++;
        }
        while (j <= end) {
            tempArr[counter] = arr[j];
            j++;
            counter++;
        }
        for (int k = 0; k < counter; k++) {
            arr[start + k] = tempArr[k];
        }
    }
    static void print(int arr[]) {
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
    }
}

Comments