调整数组顺序使得奇数位于偶数前面
2017-04-30 16:03
274 查看
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。下面方法是先建立一个新的数组,顺序遍历数组,若是奇数,便放在新数组里面。第二次扫描时,再将偶数都放入。
class Solution {
public:
void reOrderArray(vector<int> &array) {
vector<int> newarray;
int i;
for(i=0;i<array.size();++i)
{
if(array[i]&0x1)
{
newarray.push_back(array[i]);
}
}
for(i=0;i<array.size();++i)
{
if(!(array[i]&0x1))
{
newarray.push_back(array[i]);
}
}
array.clear();
array=newarray;
}
};不开辟新的空间,定义两个指针,一个从头检测偶数,一个从尾检测奇数,当检测到的奇数位于偶数后面时候,交换。但这样前面的就不是排序数组了。
相关文章推荐
- 调整数组使奇数全部都位于偶数前面。 题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
- 调整数组使奇数全部都位于偶数前面。 题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
- 【剑指offer】调整数组顺序使得奇数位于偶数前面
- 《剑指offer》--- 在O(1)时间内删除链表结点 和 调整数组顺序使得奇数位于偶数前面
- 调整数组顺序使得奇数位于偶数前面
- 剑指offer_14(调整数组顺序使得奇数位于偶数前面)
- 调整数组顺序使得奇数位于偶数前面
- 剑指offer_调整数组顺序使得奇数位于偶数前面
- //1.调整数组使奇数全部都位于偶数前面。 //题目: //输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
- 调整数组顺序使得奇数位于偶数前面
- 剑指offer 调整数组顺序使得奇数位于偶数前面
- 面试题21:调整数组顺序使得奇数位于偶数前面
- 调整数组顺序使得奇数位于偶数前面
- 调整数组中的顺序使得奇数位于偶数的前面
- 调整数组顺序使得奇数位于偶数前面,且奇数与奇数,偶数与偶数之间的位置相对不变
- 剑指offer-第三章高质量的代码(调整数组顺序使得奇数位于偶数的前面)
- 调整数组顺序,使得奇数总位于偶数前面
- 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于偶数前面
- 剑指offer之面试题14:调整数组顺序使得奇数位于偶数前面
- 调整数组的顺序使得奇数位于偶数的前面(剑指offer14)