调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,
如果,保证奇数和奇数,偶数和偶数之间的相对位置不变。用两个临时list,一个保存奇数,一个保存偶数,然后合并
import java.util.*; public class Solution { public void reOrderArray(int [] array) { ArrayList<Integer> list1 = new ArrayList<Integer>(); ArrayList<Integer> list2 = new ArrayList<Integer>(); for(int i=0;i<array.length;i++){ if(array[i]%2==1){ list1.add(array[i]); }else{ list2.add(array[i]); } } ; for(int i=0;i<list1.size();i++){ array[i] = list1.get(i); } for(int i=0;i<list2.size();i++){ array[i+list1.size()] = list2.get(i); } } }
如果不需要顺序,则用快速排序,
前面的指针找偶数,后面的指针找奇数,交换后移动指针
posted on 2017-08-25 16:31 zhangxiaoyu 阅读(105) 评论(0) 收藏 举报
浙公网安备 33010602011771号