GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Java/Sorts/CocktailShakerSort.java at master · pythonpeixun/Java Expand file tree/ Copy pathCocktailShakerSort.javaMore file actions 63 lines (52 loc) · 1.72 KB / Copy pathCocktailShakerSort.javaFile metadata and controls63 lines (52 loc) · 1.72 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 package Sorts; /** * @author Mateus Bizzo (https://github.com/MattBizzo) * @author Podshivalov Nikita (https://github.com/nikitap492) */ class CocktailShakerSort implements SortAlgorithm { /** * This method implements the Generic Cocktail Shaker Sort * * @param array The array to be sorted * Sorts the array in increasing order **/ @Override public <T extends Comparable<T>> T[] sort(T[] array) { int length = array.length; int left = 0; int right = length - 1; int swappedLeft, swappedRight; while (left < right) { // front swappedRight = 0; for (int i = left; i < right; i++) { if (SortUtils.less(array[i + 1], array[i])) { SortUtils.swap(array, i, i + 1); swappedRight = i; } } // back right = swappedRight; swappedLeft = length - 1; for (int j = right; j > left; j--) { if (SortUtils.less(array[j], array[j - 1])) { SortUtils.swap(array, j - 1, j); swappedLeft = j; } } left = swappedLeft; } return array; } // Driver Program public static void main(String[] args) { // Integer Input Integer[] integers = {4, 23, 6, 78, 1, 54, 231, 9, 12}; CocktailShakerSort shakerSort = new CocktailShakerSort(); // Output => 1 4 6 9 12 23 54 78 231 SortUtils.print(shakerSort.sort(integers)); // String Input String[] strings = {"c", "a", "e", "b", "d"}; SortUtils.print(shakerSort.sort(strings)); } } |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |