Java Bubble Sort bubbleSort(int[] array)

Here you can find the source of bubbleSort(int[] array)

Description

bubble Sort

License

Open Source License

Declaration

public static void bubbleSort(int[] array) 

Method Source Code

//package com.java2s;
/**/*from  www  .j  av a2s. c  o  m*/
 * Copyright (c) 2014-2015 by Wen Yu.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Any modifications to this file must keep this entire header intact.
 * 
 * Change History - most recent changes go on top of previous changes
 *
 * ArrayUtils.java
 *
 * Who   Date       Description
 * ====  =========  ======================================================================
 * WY    06Apr2015  Added reverse(byte[]) to reverse byte array elements
 * WY    06Jan2015  Added reverse() to reverse array elements
 * WY    10Dec2014  Moved reverseBits() from IMGUtils to here along with BIT_REVERSE_TABLE
 * WY    08Dec2014  Fixed bug for flipEndian() with more than 32 bit sample data 
 * WY    07Dec2014  Changed method names for byte array to other array types conversion
 * WY    07Dec2014  Added new methods to work with floating point TIFF images
 * WY    03Dec2014  Added byteArrayToFloatArray() and byteArrayToDoubleArray()
 * WY    25Nov2014  Added removeDuplicates() to sort and remove duplicates from int arrays
 * WY    12Nov2014  Changed the argument sequence for flipEndian()
 * WY    11Nov2014  Changed flipEndian() to include scan line stride to skip bits
 * WY    11Nov2014  Added toNBits() to convert byte array to nBits data unit
 * WY    28Oct2014  Added flipEndian() to work with TIFTweaker mergeTiffImagesEx()
 */

public class Main {
    public static void bubbleSort(int[] array) {
        int n = array.length;
        boolean doMore = true;

        while (doMore) {
            n--;
            doMore = false; // assume this is our last pass over the array

            for (int i = 0; i < n; i++) {
                if (array[i] > array[i + 1]) {
                    // exchange elements
                    int temp = array[i];
                    array[i] = array[i + 1];
                    array[i + 1] = temp;
                    doMore = true; // after an exchange, must look again 
                }
            }
        }
    }

    public static <T extends Comparable<? super T>> void bubbleSort(T[] array) {
        int n = array.length;
        boolean doMore = true;

        while (doMore) {
            n--;
            doMore = false; // assume this is our last pass over the array

            for (int i = 0; i < n; i++) {
                if (array[i].compareTo(array[i + 1]) > 0) {
                    // exchange elements
                    T temp = array[i];
                    array[i] = array[i + 1];
                    array[i + 1] = temp;
                    doMore = true; // after an exchange, must look again 
                }
            }
        }
    }
}

Related

  1. bubbleSort(int array[], int index[])
  2. bubbleSort(int[] a)
  3. BubbleSort(int[] data)
  4. bubbleSort(int[] source)
  5. bubbleSort(String[] p_array)
  6. bubbleSortArray(String[] str)