package demosort;
/*
* 在要排序的一组数中,
* 对当前还未排好序的范围内的全部数,
* 自上而下对相邻的两个数依次进行比较和调整,
* 让较大的数往下沉,较小的往上冒。
* 即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
*/
public class BubbleSort {
public BubbleSort(){
int a[]={12,15,39,25,53,91};
int temp=0;
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-1-i;j++){
//这里不减i也可以,但是会增加遍历的次数。
// 冒泡这里是大的数放在最后面所以,可以减少遍历的次数
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
}
public static void main(String[] args) {
BubbleSort bs=new BubbleSort();
}
}
for(int i = 0 ; i <= n ; i++){
for (int j = 0; j <n- i-1;j++) {
//异或运算就不用临时变量了
if (A[j+1] < A[j]) {
A[j] = A[j+1]^A[j];
A[j+1] = A[j+1]^A[j];
A[j] = A[j+1]^A[j];
}
}
}