算法总结之 奇数下标都是奇数或者偶数下标都是偶数
给定一个长度不小于2的数组arr,实现一个函数调整arr, 要么让所有的偶数下标都是偶数,要么让所有奇数下标都是奇数
这道题 在不停的交换和判断中 走向了成功
初始值 enven =0 odd=1 每次交换完了对应的 +2
看代码,一目了然:
package TT; public class Test75 { public static void modify(int[] arr){ if(arr==null || arr.length<2){ return; } int even = 0; int odd =1; int end = arr.length-1; while(even <=end && odd<=end){ if((arr[end]&1)==0){ swap(arr,end,even); even +=2; }else { swap(arr,end,odd); odd+=2; } } } public static void swap(int[] arr, int index1, int index2){ int tmp = arr[index1]; arr[index1]=arr[index2]; arr[index2]=tmp; } public static void main(String[] args){ int[] arr = new int[6]; arr[0]=1; arr[1]=8; arr[2]=3; arr[3]=2; arr[4]=4; arr[5]=6; modify(arr); for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } }