// 面试题14_调整数组顺序使奇数位于偶数前面.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;void swap(int *begin,int *end){ int temp; temp=*b...
分类:
编程语言 时间:
2015-06-25 21:10:41
阅读次数:
131
思路: 头尾指针,向中间遍历,依据条件交换元素。 1 #include 2 using namespace std; 3 4 void reOrder(int *pData, unsigned int len, bool (*func)(int)) 5 { 6 if(pData == ...
分类:
编程语言 时间:
2015-06-20 18:22:46
阅读次数:
163
题目:输入一个整数数组,实现一个函数来解决该数组中数字的位置,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。本题思路较为简单,我们只需维护两个指针:第一个指针pHead 初始化为数组的第一个元素,第二个指针pTail 初始化为数组的最后一个元素。根据题目要求:所有奇数位于数组的前半部分...
分类:
编程语言 时间:
2015-06-19 21:36:22
阅读次数:
173
【题目】输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。【分析】比较直接的笨方法就是遍历每一个,只要是偶数,就拿出来,将后面的数依次往前挪动,将偶数填放在数组的最后方,每碰到一个偶数就要挪动o(n)个数字,那么总的时间复杂度就是O(n^2),效率太低,如何改善,可以观察数组如果要奇数位于偶数之前,也就是顺序颠倒的要换过来,从两头往中...
分类:
编程语言 时间:
2015-06-07 14:36:30
阅读次数:
133
从表面看好像这道题目很简单,其实做起来并没有想象中简单,个人觉得比较困难的点在于当奇数偶数已经分开但顺序没有排列的时候,对两半部分数组进行操作是稍微有些复杂的。提供了两种解法,希望大家能够有所借鉴。
import java.util.Arrays;
public class reOrderArray {
public void reOrderArrayDemo1(int[] arra...
分类:
编程语言 时间:
2015-05-22 11:40:29
阅读次数:
158
题目:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分。
解析:题目没说相对位置不变,用两个游标指向首尾,前面的偶数与后面的奇数交换即可。
/*功能函数*/
void ReOrderOddEven(int a[], int length)
{
int i,j;//定义两个游标
int temp;
if ...
分类:
编程语言 时间:
2015-05-13 21:56:35
阅读次数:
182
题目:
输入一个整数数组,实现一个函数来调整该数组中数组的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
解法一:O(n^2)
从头扫描数组,每碰到一个偶数,拿出这个数字,并把位于这个数字后面的所有数字往前挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位中。
由于每碰到一个偶数就需要移动O(n)个数字,因此总的时间复杂度是O(n^2).
...
分类:
编程语言 时间:
2015-04-29 19:49:15
阅读次数:
105
问题描述: 输入一个整数数组,实现一个函数来调整该数组中的数字顺序, 是的所有奇数位于数组的前半部分,所有偶数位于后半部分。 思路分析: 使用两个指针,一个指向数组头,一个指向数组尾,相向运动,一个在前面找偶数, 一个在后面找奇数,找到后互换,两个指针相遇则结束。 参考代码: void Record...
分类:
编程语言 时间:
2014-12-21 23:25:47
阅读次数:
248
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,偶数位于后半部分。时间复杂度尽量低。分析:我们可以用两个指针,第一个指针初始化时指向数组的第一个数字,它只向后移动;第二个指针初始化时指向数组的最后一个数字,它只..
分类:
编程语言 时间:
2014-11-27 12:55:58
阅读次数:
180
题目要求: 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 要求时间复杂度为O(n). 参考资料:剑指offer第14题。题目分析: 使用两个指针,pBegin和pEnd,pBegin从开头往后遍历,pEnd从结尾往前遍历,当pBegin...
分类:
编程语言 时间:
2014-11-11 20:44:43
阅读次数:
143