1/****************************************
2>FileName:test.c
3>Author:xiaoxiaohui
4>mail:1924224891@qq.com
5>CreatedTime:2016年05月26日星期四19时15分12秒
6****************************************/
7
8#include<stdio.h>
9#include<assert.h..
分类:
编程语言 时间:
2016-05-27 07:11:40
阅读次数:
198
扩展:当不需要关注奇偶数原来的顺序时 参考: http://www.cnblogs.com/xing901022/p/3755795.html http://blog.chinaunix.net/uid-26548237-id-3753247.html http://www.cnblogs.com/ ...
分类:
编程语言 时间:
2016-05-19 10:33:48
阅读次数:
160
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 class Solution { public: void reOrderArray(vector<int> &ar ...
分类:
编程语言 时间:
2016-05-18 00:02:12
阅读次数:
179
题目:调整数组顺序使奇数位于偶数前面输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分程序1.0:使用两个指针一个指向头一个指向尾,如果头指针遇到奇数就后移,遇到偶数就和尾指针指向的元素交换,头指..
分类:
编程语言 时间:
2016-05-17 19:54:40
阅读次数:
233
调整数组顺序使奇数位于偶数前面描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。分析
这里很容易联想到快速排序基于中间值,左右两边基本有序的方法。但是快速排序是一个不稳定算法,会改变数与数之间的位置,虽然能满足题干的前半部分,但是满足不了条件—并保证奇数和奇数,偶数和偶数之间...
分类:
编程语言 时间:
2016-05-11 07:20:34
阅读次数:
318
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。首先,可以想到,用前后两个指针一个在数组首一个在数组尾同时往数组中间遍历,当遇到前指针遇到偶数后指针遇到奇数时,就将两个数交换,直到两指针相..
分类:
编程语言 时间:
2016-05-10 07:22:18
阅读次数:
178
第一种:开辟一个一样大小的数组,遍历原数组的数据,把原数组奇数依次存放在新数组的前面,偶数存放在后面。时间复杂度:O(n^2);空间复杂度:O(n)缺陷:效率太差#include<stdio.h>
#include<stdlib.h>
voidAdjust(int*src,int*des,intn)
{
intindex=0;
for(int..
分类:
编程语言 时间:
2016-05-09 07:21:48
阅读次数:
189
题目描述:给定一个整数数组,实现一个函数来调整数组中的数字顺序,使得奇数都在这个数组中的前半部分,偶数都在数组中的后半部分。
比如数组为:[1,2,3,4,5]。那么调整完后的数组为:[1,3,5,2,4]
笨方法
笨方法是从数组的第一个成员开始寻找,每当遇到一个偶数就将它取出,将后面所有的成员依次向前挪一位,再将这个取出的偶数放在最后一位。时间复杂度为O(n^2)
好方法
...
分类:
编程语言 时间:
2016-05-07 10:37:08
阅读次数:
142
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
输入描述
整数数组
输出描述
奇数在前偶数在后的,调整后的数组
题目分析
解法一 运行时间:26ms 占用内存:526k
import java.util.ArrayList;
import ja...
分类:
编程语言 时间:
2016-05-03 10:50:45
阅读次数:
185
输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分
//第一种方法:
#include<stdio.h>
voidreverse(int*p,intlen)
{
int*start=p;
int*end=p+len-1;
inttmp=0;
while(start<end)
{
if((..
分类:
编程语言 时间:
2016-04-12 07:52:47
阅读次数:
179