冒泡排序基本原理:
将对列中的数据两两进行比较,先将最左端的两个数据进行比较,如果左边的第一位数字比第二位数字大,就将他们互换位置,反之,位置不变。第二步,再将刚刚排列好的左边的第二个数字与第三个数字进行比较,步骤与第一步相同,以此类推下去,找出最大的那个数字,此时最大的数据在最右边。
java代码实现冒泡排序:
创建一个bubbleSort.java
class ArrayBub{
private 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 i=0;i<nElems;i++)
System.out.println(a[i]+"");
System.out.println("");
}
public void bubbleSort() {
int out,in;
for(out=nElems-1;out>1;out–)
for(in=0;in<out;in++)
if(a[in]>a[in+1])
swap(in,in+1);
}
private void swap(int one, int two) {
// TODO Auto-generated method stub
long temp = a[one];
a[one]=a[two];
a[two]=temp;
}
}
public class BubbleSort {
public static void main(String[]args) {
int maxSize=100;
ArrayBub arr;
arr =new ArrayBub(maxSize);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(66);
arr.insert(11);
arr.insert(22);
arr.insert(33);
arr.insert(00);
arr.insert(88);
arr.display();
arr.bubbleSort();
arr.display();
}
}