冒泡排序
boolean flag;
for(int i=0; i<arr.length-1; i++){
flag = true;
for(int j=0; j<arr.length-i-1; j++){
if(arr[j] > arr[j+1]){
//a=a+b-(b=a); 交换
arr[j] = arr[j] +arr[j+1] - (arr[j+1] = arr[j]);
flag = false;
}
}
//如果本次没有进行交换,则代表已经有序,提前结束
if(flag) break;
}
交换方式二,异或:
if(arr[j] > arr[j+1]){
arr[j] = arr[j] ^ arr[j+1];
arr[j+1] = arr[j] ^ arr[j+1];
arr[j] = arr[j+1] ^ arr[j];
}