diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 26d3352..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
deleted file mode 100644
index 919ce1f..0000000
--- a/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 100644
index a55e7a1..0000000
--- a/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index 71e4596..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
deleted file mode 100644
index 712ab9d..0000000
--- a/.idea/jarRepositories.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/java.iml b/.idea/java.iml
deleted file mode 100644
index 22ba316..0000000
--- a/.idea/java.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml
deleted file mode 100644
index d411041..0000000
--- a/.idea/libraries/Maven__junit_junit_4_12.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml
deleted file mode 100644
index 6ac1c42..0000000
--- a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
deleted file mode 100644
index f58bbc1..0000000
--- a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_0_M1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_0_M1.xml
deleted file mode 100644
index e1277f4..0000000
--- a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_0_M1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_9_0_M1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_9_0_M1.xml
deleted file mode 100644
index a0d0ff7..0000000
--- a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_9_0_M1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_9_0_M1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_9_0_M1.xml
deleted file mode 100644
index e67662e..0000000
--- a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_9_0_M1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_0_M1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_0_M1.xml
deleted file mode 100644
index 0eb85d8..0000000
--- a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_0_M1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_9_0_M1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_9_0_M1.xml
deleted file mode 100644
index 0a2ac03..0000000
--- a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_9_0_M1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_9_0_M1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_9_0_M1.xml
deleted file mode 100644
index e5afb8c..0000000
--- a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_9_0_M1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
deleted file mode 100644
index fbc1b16..0000000
--- a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/lib.xml b/.idea/libraries/lib.xml
deleted file mode 100644
index fa8838a..0000000
--- a/.idea/libraries/lib.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index c3e2dd9..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index a127731..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
deleted file mode 100644
index e96534f..0000000
--- a/.idea/uiDesigner.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
- -
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/java/com/sort/BubbleSort.java b/src/main/java/com/sort/BubbleSort.java
new file mode 100644
index 0000000..38442eb
--- /dev/null
+++ b/src/main/java/com/sort/BubbleSort.java
@@ -0,0 +1,25 @@
+package com.sort;
+
+import java.util.Arrays;
+
+public class BubbleSort implements ISort {
+
+ public int[] sort(int[] A){
+ int n = A.length;
+ for (int i = 0; i < n; i++){
+ for (int j = n-1; j > i; j--){
+ if (A[j] < A[j-1]){
+ com.utils.Utils.swap(A, i, j);
+ }
+ }
+ }
+ return A;
+ }
+
+ // moving to com.sort.Main
+// public static void main(String[] args) {
+// int[] A = new int[]{2,4,6,1,3,5};
+// ISort bsort = new BubbleSort();
+// System.out.println(Arrays.toString(bsort.sort(A)));
+// }
+}
diff --git a/src/main/java/com/sort/ISort.java b/src/main/java/com/sort/ISort.java
new file mode 100644
index 0000000..bfa7266
--- /dev/null
+++ b/src/main/java/com/sort/ISort.java
@@ -0,0 +1,7 @@
+package com.sort;
+
+// TODO: make is generic
+public interface ISort {
+ // Sort and return an int array
+ public int[] sort(int[] A);
+}
diff --git a/src/main/java/com/sort/InsertionSort.java b/src/main/java/com/sort/InsertionSort.java
new file mode 100644
index 0000000..57b796e
--- /dev/null
+++ b/src/main/java/com/sort/InsertionSort.java
@@ -0,0 +1,26 @@
+package com.sort;
+
+public class InsertionSort implements ISort{
+
+ @Override
+ public int[] sort(int[] A) {
+ for(int i = 0; i < A.length; i++){
+ int temp = A[i];
+ int j = i-1;
+
+ while(j >= 0 && A[j] > temp){
+ A[j+1] = A[j];
+ j--;
+ }
+
+// for (; j > 0; j--){
+// if(temp < A[j-1]){
+// A[j] = A[j-1];
+// }
+// }
+ A[j+1] = temp;
+
+ }
+ return A;
+ }
+}
diff --git a/src/main/java/com/sort/Main.java b/src/main/java/com/sort/Main.java
new file mode 100644
index 0000000..7382b85
--- /dev/null
+++ b/src/main/java/com/sort/Main.java
@@ -0,0 +1,13 @@
+package com.sort;
+
+import java.util.Arrays;
+
+public class Main {
+ public static void main(String[] args) {
+ int[] A = new int[]{2,4,6,1,3,5};
+// ISort sort = new SelectionSort();
+// ISort sort = new BubbleSort();
+ ISort sort = new InsertionSort();
+ System.out.println(Arrays.toString(sort.sort(A)));
+ }
+}
diff --git a/src/main/java/com/sort/SelectionSort.java b/src/main/java/com/sort/SelectionSort.java
new file mode 100644
index 0000000..7a793a2
--- /dev/null
+++ b/src/main/java/com/sort/SelectionSort.java
@@ -0,0 +1,31 @@
+package com.sort;
+
+import java.util.Arrays;
+
+public class SelectionSort implements ISort{
+ public int[] sort(int[] A){
+
+ for (int i = 0; i < A.length; i++){
+ int minVal = A[i];
+ int minIndex = i;
+ for (int j = i+1; j < A.length; j++){
+ if(A[j] < minVal){
+ minVal = A[j];
+ minIndex = j;
+ }
+ }
+// System.out.println("i: " + i + ", j: " + j +", " + ", minIndex: " + minIndex + ", " +Arrays.toString(A));
+ com.utils.Utils.swap(A, i, minIndex);
+ }
+ return A;
+ }
+
+
+
+ // moving to com.sort.Main
+// public static void main(String[] args) {
+// int[] A = new int[]{2,4,6,1,3,5};
+// ISort ssort = new SelectionSort();
+// System.out.println(Arrays.toString(ssort.sort(A)));
+// }
+}
diff --git a/src/main/java/com/sort/Utils.java b/src/main/java/com/sort/Utils.java
new file mode 100644
index 0000000..70bf26c
--- /dev/null
+++ b/src/main/java/com/sort/Utils.java
@@ -0,0 +1,10 @@
+package com.sort;
+
+public class Utils {
+ public void swap(int[] A, int i, int j){
+ if(i == j) return;
+ int temp = A[i];
+ A[i] = A[j];
+ A[j] = temp;
+ }
+}
diff --git a/src/main/java/com/test/FormattingExample1.java b/src/main/java/com/test/FormattingExample1.java
new file mode 100644
index 0000000..e5efa75
--- /dev/null
+++ b/src/main/java/com/test/FormattingExample1.java
@@ -0,0 +1,64 @@
+package com.test;
+
+import java.text.DateFormat;
+import java.text.DecimalFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class Example1 {
+ public static void main(String[] args) {
+ int x = 100;
+
+ // System.out.printf
+ System.out.printf("printing simple integer x = %d\n", x);
+ System.out.format("printing simple integer x = %d\n", x).println();
+ System.out.printf("formatted with precision: PI = %.2f\n", Math.PI);
+ float n = 5.3f;
+ System.out.printf("formatted to specific width: n = %.4f\n", n);
+ n = 2324435.3f;
+ System.out.printf("formatted to right margin: n = %20.4f\n", n);
+
+ // DecimalFormat class
+ double num = 123.4567;
+
+ // prints only numeric part of the floating number
+ DecimalFormat ft = new DecimalFormat("####");
+ System.out.println("without fraction part: num = " + ft.format(num));
+ // print upto to 2 decimal places
+ ft = new DecimalFormat("#.##");
+ System.out.println("formatted to give precision: num = " + ft.format(num));
+ // automatically appends zero to the rightmost part
+ // of decimal instead of #,we use digit 0
+ ft = new DecimalFormat("#.000000");
+ System.out.println("appends zeros to the right: num = " + ft.format(num));
+
+ // automatically appends zero to the leftmost of
+ // decimal number instead of #,we use digit 0
+ ft = new DecimalFormat("00000.00");
+ System.out.println("formatting numeric part : num + " + ft.format(num));
+
+ // formatting money in dollars
+ double income = 23456.789;
+ ft = new DecimalFormat("$###,###.##");
+ System.out.println("formatted income: " + ft.format(income));
+
+ // formatting dates and parsing using SimpleDateFormat class
+
+ // formatting as per given pattern in the argument
+ SimpleDateFormat dtft = new SimpleDateFormat("dd-MM-yyyy");
+ String str = dtft.format(new Date());
+ System.out.println("formatted date : " + str);
+
+ // parsing a given string
+ str = "02/18/1995";
+ dtft = new SimpleDateFormat("MM/dd/yyyy");
+ try{
+ Date dt = dtft.parse(str);
+ System.out.println("parsed date : " + dt);
+ }catch (ParseException e){
+ System.err.println("exception in parsing date : " + e);
+ }
+
+ }
+}
diff --git a/src/main/java/com/test/MapIterationExample1.java b/src/main/java/com/test/MapIterationExample1.java
new file mode 100644
index 0000000..eba11a4
--- /dev/null
+++ b/src/main/java/com/test/MapIterationExample1.java
@@ -0,0 +1,2 @@
+package com.test;public class MapIterationExample1 {
+}
diff --git a/src/test/java/com/sort/BubbleSortTest.java b/src/test/java/com/sort/BubbleSortTest.java
new file mode 100644
index 0000000..c01c9f8
--- /dev/null
+++ b/src/test/java/com/sort/BubbleSortTest.java
@@ -0,0 +1,22 @@
+package com.sort;
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class BubbleSortTest {
+
+ @BeforeEach
+ void setUp() {
+ }
+
+ @AfterEach
+ void tearDown() {
+ }
+
+ @Test
+ void sort() {
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/sort/InsertionSortTest.java b/src/test/java/com/sort/InsertionSortTest.java
new file mode 100644
index 0000000..be0203b
--- /dev/null
+++ b/src/test/java/com/sort/InsertionSortTest.java
@@ -0,0 +1,22 @@
+package com.sort;
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class InsertionSortTest {
+
+ @BeforeEach
+ void setUp() {
+ }
+
+ @AfterEach
+ void tearDown() {
+ }
+
+ @Test
+ void sort() {
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/sort/SelectionSortTest.java b/src/test/java/com/sort/SelectionSortTest.java
new file mode 100644
index 0000000..aa7ded3
--- /dev/null
+++ b/src/test/java/com/sort/SelectionSortTest.java
@@ -0,0 +1,22 @@
+package com.sort;
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class SelectionSortTest {
+
+ @BeforeEach
+ void setUp() {
+ }
+
+ @AfterEach
+ void tearDown() {
+ }
+
+ @Test
+ void sort() {
+ }
+}
\ No newline at end of file