class ArrayBub{
private long[]a; //封装long类型数组a[]
private int nElems; //数据量
public ArrayBub(int max){ //构造
a=new long[max]; //创建一个数组
nElems=0; //初始为空
}
//将元素添加到数组中
public void insert(long value){
a[nElems]=value;
nElems++;
}
//显示数组内容
public void display(){
for(int j=0;j<nElems;j++) //显示每个元素
System.out.println(a[j]+" "); //打印数据
System.out.println(" ");
}
//冒泡排序主代码
public void bubbleSort(){
int out, in;
for (out=nElems-1;out>1;out--){//外循环,找到需要比较的最后的位置
for(in=0;in<out;in++){ //内循环,比较outer前面的书籍
if(a[in]>a[in+1]){ //比较大小,将大数据排在后面
swap(in,in+1);
}
}
}
}
//swap方法交换(最好写到程序内部,减少调用)
private void swap(int one,int two){
long temp=a[one];
a[one]=a[two];
a[two]=temp;
}
}
class BubbleSortApp{
public static void main(String[] args){
int maxSize=100; //数组大小
ArrayBub arr; //涉及到的数组
arr=new ArrayBub(maxSize); //创建数组
//向数组添加数据
arr.insert(77);
arr.insert(42);
arr.insert(85);
arr.insert(12);
arr.insert(69);
arr.insert(98);
arr.insert(23);
//数组打印
arr.display();
//将数组中数据排序
arr.bubbleSort();
//再次打印数组数据
arr.display();
}
}