From 8c4c9363035f7e8aa054d1516d211ac32d364bef Mon Sep 17 00:00:00 2001 From: Manoj Chawan Date: Fri, 2 Oct 2020 12:57:13 +0530 Subject: [PATCH 1/6] Create PancakeSort.java PancakeSort Algo in java --- src/java/main/PancakeSort.java | 85 ++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/java/main/PancakeSort.java diff --git a/src/java/main/PancakeSort.java b/src/java/main/PancakeSort.java new file mode 100644 index 0000000..0a261bc --- /dev/null +++ b/src/java/main/PancakeSort.java @@ -0,0 +1,85 @@ +import java.io.*; + +class PancakeSort { + + /* Reverses arr[0..i] */ + static void flip(int arr[], int i) + { + int temp, start = 0; + while (start < i) + { + temp = arr[start]; + arr[start] = arr[i]; + arr[i] = temp; + start++; + i--; + } + } + + // Returns index of the + // maximum element in + // arr[0..n-1] + static int findMax(int arr[], int n) + { + int mi, i; + for (mi = 0, i = 0; i < n; ++i) + if (arr[i] > arr[mi]) + mi = i; + return mi; + } + + // The main function that + // sorts given array using + // flip operations + static int pancakeSort(int arr[], int n) + { + // Start from the complete + // array and one by one + // reduce current size by one + for (int curr_size = n; curr_size > 1; --curr_size) + { + // Find index of the + // maximum element in + // arr[0..curr_size-1] + int mi = findMax(arr, curr_size); + + // Move the maximum element + // to end of current array + // if it's not already at + // the end + if (mi != curr_size-1) + { + // To move at the end, + // first move maximum + // number to beginning + flip(arr, mi); + + // Now move the maximum + // number to end by + // reversing current array + flip(arr, curr_size-1); + } + } + return 0; + } + + /* Utility function to print array arr[] */ + static void printArray(int arr[], int arr_size) + { + for (int i = 0; i < arr_size; i++) + System.out.print(arr[i] + " "); + System.out.println(""); + } + + /* Driver function to check for above functions*/ + public static void main (String[] args) + { + int arr[] = {23, 10, 20, 11, 12, 6, 7}; + int n = arr.length; + + pancakeSort(arr, n); + + System.out.println("Sorted Array: "); + printArray(arr, n); + } +} From ce587d91be94aba957d2aa9a7ffc5a77ddc8223d Mon Sep 17 00:00:00 2001 From: Manoj Chawan Date: Fri, 2 Oct 2020 13:04:26 +0530 Subject: [PATCH 2/6] Tree Sort tree sort algorithm --- src/java/main/TreeSort.Java | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/java/main/TreeSort.Java diff --git a/src/java/main/TreeSort.Java b/src/java/main/TreeSort.Java new file mode 100644 index 0000000..8424d0c --- /dev/null +++ b/src/java/main/TreeSort.Java @@ -0,0 +1,64 @@ +class GFG +{ + class Node + { + int key; + Node left, right; + + public Node(int item) + { + key = item; + left = right = null; + } + } + Node root; + GFG() + { + root = null; + } + void insert(int key) + { + root = insertRec(root, key); + } + + /* A recursive function to + insert a new key in BST */ + Node insertRec(Node root, int key) + { + if (root == null) + { + root = new Node(key); + return root; + } + if (key < root.key) + root.left = insertRec(root.left, key); + else if (key > root.key) + root.right = insertRec(root.right, key); + return root; + } + void inorderRec(Node root) + { + if (root != null) + { + inorderRec(root.left); + System.out.print(root.key + " "); + inorderRec(root.right); + } + } + void treeins(int arr[]) + { + for(int i = 0; i < arr.length; i++) + { + insert(arr[i]); + } + + } + public static void main(String[] args) + { + GFG tree = new GFG(); + int arr[] = {5, 4, 7, 2, 11}; + tree.treeins(arr); + tree.inorderRec(tree.root); + } +} + From 0deadb7b49b02f423b4e68acb468c7e6917f7bb6 Mon Sep 17 00:00:00 2001 From: Manoj Chawan Date: Fri, 2 Oct 2020 13:09:19 +0530 Subject: [PATCH 3/6] Rename TreeSort.Java to TreeSort.java --- src/java/main/{TreeSort.Java => TreeSort.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/java/main/{TreeSort.Java => TreeSort.java} (100%) diff --git a/src/java/main/TreeSort.Java b/src/java/main/TreeSort.java similarity index 100% rename from src/java/main/TreeSort.Java rename to src/java/main/TreeSort.java From 2ead31bb0b728c85b365ea48ee5046f646a16440 Mon Sep 17 00:00:00 2001 From: Manoj Chawan Date: Fri, 2 Oct 2020 13:11:40 +0530 Subject: [PATCH 4/6] brick sort --- src/java/main/BrickSort.java | 54 ++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/java/main/BrickSort.java diff --git a/src/java/main/BrickSort.java b/src/java/main/BrickSort.java new file mode 100644 index 0000000..50bee77 --- /dev/null +++ b/src/java/main/BrickSort.java @@ -0,0 +1,54 @@ +// Java Program to implement +// Odd-Even / Brick Sort +import java.io.*; + +class GFG +{ + public static void oddEvenSort(int arr[], int n) + { + boolean isSorted = false; // Initially array is unsorted + + while (!isSorted) + { + isSorted = true; + int temp =0; + + // Perform Bubble sort on odd indexed element + for (int i=1; i<=n-2; i=i+2) + { + if (arr[i] > arr[i+1]) + { + temp = arr[i]; + arr[i] = arr[i+1]; + arr[i+1] = temp; + isSorted = false; + } + } + + // Perform Bubble sort on even indexed element + for (int i=0; i<=n-2; i=i+2) + { + if (arr[i] > arr[i+1]) + { + temp = arr[i]; + arr[i] = arr[i+1]; + arr[i+1] = temp; + isSorted = false; + } + } + } + + return; + } + public static void main (String[] args) + { + int arr[] = {34, 2, 10, -9}; + int n = arr.length; + + oddEvenSort(arr, n); + for (int i=0; i < n; i++) + System.out.print(arr[i] + " "); + + System.out.println(" "); + } +} From 600c20fec2c90589e7bfadbd35bd9f2e0a29469b Mon Sep 17 00:00:00 2001 From: Manoj Chawan Date: Sat, 10 Oct 2020 11:41:00 +0530 Subject: [PATCH 5/6] Create ComboSort algo for combo sort --- src/java/main/ComboSort.Java | 52 ++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/java/main/ComboSort.Java diff --git a/src/java/main/ComboSort.Java b/src/java/main/ComboSort.Java new file mode 100644 index 0000000..c8e9afe --- /dev/null +++ b/src/java/main/ComboSort.Java @@ -0,0 +1,52 @@ +// Java program for implementation of Comb Sort +class CombSort +{ + // To find gap between elements + int getNextGap(int gap) + { + // Shrink gap by Shrink factor + gap = (gap*10)/13; + if (gap < 1) + return 1; + return gap; + } + + // Function to sort arr[] using Comb Sort + void sort(int arr[]) + { + int n = arr.length; + + // initialize gap + int gap = n; + + // Initialize swapped as true to make sure that + // loop runs + boolean swapped = true; + + // Keep running while gap is more than 1 and last + // iteration caused a swap + while (gap != 1 || swapped == true) + { + // Find next gap + gap = getNextGap(gap); + + // Initialize swapped as false so that we can + // check if swap happened or not + swapped = false; + + // Compare all elements with current gap + for (int i=0; i arr[i+gap]) + { + // Swap arr[i] and arr[i+gap] + int temp = arr[i]; + arr[i] = arr[i+gap]; + arr[i+gap] = temp; + + // Set swapped + swapped = true; + } + } + } + } From 893d53d1baeae6f87bbc4fb67f4377eba034e4cc Mon Sep 17 00:00:00 2001 From: Manoj Chawan Date: Sat, 10 Oct 2020 11:47:53 +0530 Subject: [PATCH 6/6] Delete ComboSort.Java --- src/java/main/ComboSort.Java | 52 ------------------------------------ 1 file changed, 52 deletions(-) delete mode 100644 src/java/main/ComboSort.Java diff --git a/src/java/main/ComboSort.Java b/src/java/main/ComboSort.Java deleted file mode 100644 index c8e9afe..0000000 --- a/src/java/main/ComboSort.Java +++ /dev/null @@ -1,52 +0,0 @@ -// Java program for implementation of Comb Sort -class CombSort -{ - // To find gap between elements - int getNextGap(int gap) - { - // Shrink gap by Shrink factor - gap = (gap*10)/13; - if (gap < 1) - return 1; - return gap; - } - - // Function to sort arr[] using Comb Sort - void sort(int arr[]) - { - int n = arr.length; - - // initialize gap - int gap = n; - - // Initialize swapped as true to make sure that - // loop runs - boolean swapped = true; - - // Keep running while gap is more than 1 and last - // iteration caused a swap - while (gap != 1 || swapped == true) - { - // Find next gap - gap = getNextGap(gap); - - // Initialize swapped as false so that we can - // check if swap happened or not - swapped = false; - - // Compare all elements with current gap - for (int i=0; i arr[i+gap]) - { - // Swap arr[i] and arr[i+gap] - int temp = arr[i]; - arr[i] = arr[i+gap]; - arr[i+gap] = temp; - - // Set swapped - swapped = true; - } - } - } - }