Skip to content
This repository was archived by the owner on Oct 2, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions java/Bubble_Sort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
public class BubbleSort {
public static void bubbleSort(int[] array){
for (int i = array.length-1; i >0; i--) {
for (int j = 0; j < i; j++) {
if (array[j]>array[j+1]){
int temp = array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
}
13 changes: 13 additions & 0 deletions java/Insertion_Sort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
public class InsertionSort {
public static void insertionSort(int[] array) {
for (int i = 1; i < array.length; i++) {
int temp = array[i];
int j =i-1;
while (j>-1 && temp<array[j]){
array[j+1]=array[j];
array[j]=temp;
j--;
}
}
}
}
48 changes: 48 additions & 0 deletions java/MergeSort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@

import java.util.Arrays;

public class MergeSort {

public static int[] merge(int[] array1, int[] array2){
int[] combined=new int[array1.length+ array2.length];
int index=0;
int i=0;
int j=0;

while (i< array1.length && j< array2.length){
if (array1[i]<array2[j]){
combined[index]=array1[i];
index++;
i++;
}else {
combined[index]=array2[j];
index++;
j++;
}
}
while (i< array1.length){
combined[index]=array1[i];
index++;
i++;
}
while (j< array2.length){
combined[index]=array2[j];
index++;
j++;
}
return combined;
}

public static int[] mergeSort(int[] array){
if (array.length==1)return array;
int mid = array.length/2;
int[] left = Arrays.copyOfRange(array,0,mid);
int[] right = Arrays.copyOfRange(array,mid,array.length);
return merge(mergeSort(left),mergeSort(right));
}

public static void main(String[] args) {
int[] array={45,67,23,89,32,55,23,66,34,2};
System.out.println(Arrays.toString(mergeSort(array)));
}
}
43 changes: 43 additions & 0 deletions java/QuickSort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@

import java.util.Arrays;

public class QuickSort {
private static void swap(int[] array, int firstIndex, int secondIndex){
int temp=array[firstIndex];
array[firstIndex]=array[secondIndex];
array[secondIndex]=temp;
}

private static int pivot(int[] array, int pivotIndex, int endIndex){
int swapIndex=pivotIndex;
for (int i = pivotIndex; i <=endIndex ; i++) {
if (array[i]<array[pivotIndex]){
swapIndex++;
swap(array,swapIndex,i);
}
}
swap(array,pivotIndex,swapIndex);
return swapIndex;
}

private static void quickSortHelper(int[] array, int left, int right) {
if (left<right){
int pivotIndex=pivot(array, left, right);
quickSortHelper(array, left, pivotIndex-1);
quickSortHelper(array, pivotIndex+1, right);
}
}

public static void quickSort(int[] array){
quickSortHelper(array,0, array.length-1);
}


public static void main(String[] args) {
int[] myArray={34,4,2,7,3,8,45,45,21,56,78,43,23};
quickSort(myArray);

System.out.println(Arrays.toString(myArray));
}

}
18 changes: 18 additions & 0 deletions java/SelectionSort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

public class SelectionSort {
public static void selectionSort(int[] array) {
for (int i = 0; i < array.length; i++) {
int minIndex=i;
for (int j = i+1; j < array.length; j++) {
if (array[j]<array[minIndex]){
minIndex=j;
}
}
if (i!=minIndex){
int temp = array[i];
array[i]=array[minIndex];
array[minIndex]=temp;
}
}
}
}