Selection Sort:
MergeSort
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:
===============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
Post a Comment