题目
整数数组{10,20,25,26,35,36}
编写函数,将第1、3、5个分别和后一个数字交换。
示例解答
public class Demo_1 {
public static void main(String[] args) {
//定义数组
int[] array = {10,20,25,26,35,36};
//================ 换序 ====================
for(int i = 0; i < array.length; i++) {
//中间变量
int temp = 0;
//遇到奇数位 ,与前一个元素调换
if(i % 2 != 0) {
//==========设置中间变量==============
temp = array[i-1];
array[i-1] = array[i];
array[i] = temp;
// //==============位运算交换=============
// array[i-1] = array[i-1]^array[i];
// array[i] = array[i-1]^array[i];
// array[i-1] = array[i-1]^array[i];
// //==============关系运算===============
// array[i-1] = array[i] - array[i-1];
// array[i] = array[i] - array[i-1];
// array[i-1] = array[i-1] + array[i];
}
}
//打印换序之后的数组
System.out.print("{");
for(int i = 0; i < array.length; i++) {
System.out.print(array[i]);
if(i != array.length-1) {
System.out.print(", ");
}
}
System.out.println("}");
}
}
题目里列举里三种比较常用的交换数据的方法
//==========设置中间变量==============
temp = array[i-1];
array[i-1] = array[i];
array[i] = temp;
//==============位运算交换=============
array[i-1] = array[i-1]^array[i];
array[i] = array[i-1]^array[i];
array[i-1] = array[i-1]^array[i];
//==============关系运算===============
array[i-1] = array[i] - array[i-1];
array[i] = array[i] - array[i-1];
array[i-1] = array[i-1] + array[i];