package chapter3;
public class BubbleSort {
/**
* @冒泡排序:
* 交换次数和比较次数都是n*n;
*/
public static void main(String[] args) {
int maxSize = 100;
ArrayBub arr = new ArrayBub(maxSize);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.insert(88);
arr.insert(11);
arr.insert(00);
arr.insert(66);
arr.insert(33);
arr.display();
arr.BubbleSort();
arr.display();
}
}
class ArrayBub{
private int[] a;
private int nElems;
public ArrayBub(int max){
a = new int[max];
nElems = 0;
}
public void insert(int value){
a[nElems] = value;
nElems++;
}
public void display(){
for(int i=0;i<nElems;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
public void BubbleSort(){
for(int i=0;i<nElems-1;i++){
for(int j=0;j<nElems-i-1;j++){
if(a[j]>a[j+1])
swap(a,j);
}
}
}
private void swap(int[] a, int j) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}