调整数组顺序使得奇数位于偶数前面,且奇数与奇数,偶数与偶数之间的位置相对不变
2017-10-25 11:42
393 查看
package com.dixin.temp; import org.junit.Test; /** * Created by admin on 2017/10/23. */ public class F { /** * 调整数组顺序使得奇数位于偶数前面,且奇数与奇数,偶数与偶数之间的位置相对不变 */ //@1 再创建一个数组 时间复杂度为O(n),空间复杂度为O(n) public void reOrderArray(int [] array) { int len=array.length; int []newArray=new int[len];//定义一个新数组,即为结果数组 int oldCount=0; int newCount=0; for(int i=0;i<len;i++) {//遍历数组查找出奇数的数量 if(array[i]%2==1) { oldCount++; } } for(int i=0;i<len;i++) { if(array[i]%2==1) {//奇数从前面开始加入 newArray[newCount++]=array[i]; } else {//偶数从刚才查出来的奇数个数的末端开始加入 newArray[oldCount++]=array[i]; } } for(int i=0;i<len;i++) { array[i]=newArray[i];//最终将新数组的值赋给老数组,即完成了奇数位于偶数前面 } } //@2 类似于冒泡排序,相邻前偶后奇就交换位置 public void reOrderArray2(int [] array) { for(int i=0;i<array.length;i++) { for(int j=array.length-1;j>i;j--) { if(array[j]%2==1&&array[j-1]%2==0) {//交换位置 int tmp=array[j]; array[j]=array[j-1]; array[j-1]=tmp; } } } } @Test public void test() { int a[]={4,23,546,87,3,6}; reOrderArray2(a); for(int b:a) { System.out.print(b+" "); } } }
相关文章推荐
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 12.输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 剑指offer题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 题目1516:调整数组顺序使奇数位于偶数前面,并保证奇数和奇数,偶数和偶数之间的相对位置不变
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 调整数组顺序使奇数位于偶数前面,偶数和偶数之间的相对位置不变
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 调整数组顺序使奇数位于偶数前面,偶数和偶数之间的相对位置不变
- 调整数组顺序,使得奇数在前偶数在后,分别保证奇数和偶数之间的相对位置不变
- 调整数组使得奇数元素位于偶数元素之前(相对位置不变)
- 调整数组顺序使奇数位于偶数前面【相对为止不变】