How to write Bubble sort algorithm in Java

Bubble sort implementation


public class Main{
  public static void main(String[] args) {
    int maxSize = 100; // array size
    BubbleSort arr; // reference to array
    arr = new BubbleSort(maxSize);
//  w  ww .jav  a 2s . co  m
    arr.insert(77); // insert 10 items
    arr.insert(66);
    arr.insert(44);
    arr.insert(34);
    arr.insert(22);
    arr.insert(88);
    arr.insert(12);
    arr.insert(00);
    arr.insert(55);
    arr.insert(33);

    arr.display();

    arr.bubbleSort();

    arr.display();
  }
}
class BubbleSort {
  private long[] a;

  private int nElems;

  public BubbleSort(int max) {
    a = new long[max];
    nElems = 0;
  }

  //   put element into array
  public void insert(long value) {
    a[nElems] = value;
    nElems++;
  }

  //   displays array contents
  public void display() {
    for (int j = 0; j < nElems; j++)
      System.out.print(a[j] + " ");
    System.out.println("");
  }

  public void bubbleSort() {
    int out, in;

    for (out = nElems - 1; out > 1; out--)
      // outer loop (backward)
      for (in = 0; in < out; in++)
        // inner loop (forward)
        if (a[in] > a[in + 1]) // out of order?
          swap(in, in + 1); // swap them
  }

  private void swap(int one, int two) {
    long temp = a[one];
    a[one] = a[two];
    a[two] = temp;
  }
}

The code above generates the following result.





















Home »
  Java Tutorial »
    Development »




Java Algorithms
Java Clipboard
Java Compiler
Java Desktop
Java Virtual Machine
Java Math
OS
Random
Java Robot
Java RuntimeMXBean
Java Timer
Java UUID
Java Internationalization