题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
1、一般想法,不考虑时间复杂度:
每次遍历数组,碰到一个偶数就拿出来,将后面所有数字向前挪动一位,在将该偶数放到最后。
2、利用冒泡排序的思想,两个指针,一前以后,如果前为偶数,后为奇数,就交换。
算法如下:
void Reorder_array(int p[],i...
分类:
编程语言 时间:
2015-08-09 22:39:24
阅读次数:
193
void adjustArray(int a[], int n) { int low = 0, high = n - 1; int pivot; while (low < high) { while (a[high] % 2 == 0 && low < high) ...
分类:
编程语言 时间:
2015-08-03 18:27:14
阅读次数:
151
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
1、基本实现:
如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有的数字往前面挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位。由于没碰到一个偶数就需要移动O(n)个数字,因此总的时间复...
分类:
编程语言 时间:
2015-08-01 14:22:50
阅读次数:
189
题目链接地址:
http://ac.jobdu.com/problem.php?pid=1516题目1516:调整数组顺序使奇数位于偶数前面时间限制:1 秒内存限制:128 兆特殊判题:否提交:2858解决:924
题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置...
分类:
编程语言 时间:
2015-07-30 11:15:22
阅读次数:
145
题目:输入一个整数数组,实现一个函数来调整该数组中的数字的顺序,使得所有的奇数位于数组的前半部门,所有的偶数位于数组的后半部门。这一题一看其实是很简单的,当然在不考虑效率的情况可以这样考虑我们将数组从前开始索引只要发现偶数这将偶数取出来并且将偶数后面的元素全部前移一个然后将偶数插入到最后,这样扫描一...
分类:
编程语言 时间:
2015-07-23 21:37:18
阅读次数:
157
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。如果去掉约束条件:并保证奇数和奇数,偶数和偶数之间的相对位置不变?思路:如果要保证奇数和奇数,偶数和偶数之间的相对位置不变...
分类:
编程语言 时间:
2015-07-13 18:29:03
阅读次数:
184
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,是的所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。初级程序员代码: 1 void reorderOddEven(vector&data) 2 { 3 unsigned int n = data.size(); 4 ...
分类:
编程语言 时间:
2015-07-01 19:59:25
阅读次数:
152
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位予数组的后半部分。...
分类:
编程语言 时间:
2015-06-28 09:47:31
阅读次数:
135
// 面试题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