【c语言】调整数组使奇数全部都位于偶数前面

原创 2015年07月08日 09:30:51
//  调整数组使奇数全部都位于偶数前面
//  输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,
//  所有偶数位于数组的后半部分。

#include <stdio.h>
#include <assert.h>

void johh(int *p, int len)
{
	int *q = p + len - 1;
	int temp;
	assert(p != NULL);
	while (p < q)
	{
		while ((*p & 1) == 1)
		{
			p++;
		}
		while ((*q & 1) == 0)
		{
			q--;
		}
		if (p < q)
		{
			temp = *p;
			*p = *q;
			*q = temp;
		}
	}
	return;
}

int main()
{
	int arr[] = {1,2,3,4,5,6,7,8,9};
	int len = sizeof(arr) / sizeof(arr[0]);
	int i = 0;
	johh(arr, len);
	for (; i < len; ++i)
	{
		printf("%d  ", arr[i]);
	}
	printf("\n");
	return 0;
}









版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【C语言】调整数组使奇数全部都位于偶数前面

//调整数组使奇数全部都位于偶数前面。 //输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分 #include void A...

C语言 程序实现将一个数组所有奇数放在前半部分,偶数位于后半部分

输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。        数组奇数位于前半部分,偶数位于后半部分,实现这个需要用到循环...

剑指Offer——(13)调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

【13】调整数组顺序使奇数位于偶数前面

调整数组顺序使奇数位于偶数前面 时间限制:1秒 空间限制:32768K 本题知识点: 数组 题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序, 使得所有的奇数位于数组的前半部分,所有的...

调整数组顺序使奇数位于偶数前面

题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。 分析:如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,...

剑指Offer14:调整数组顺序使奇数位于偶数前面

题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位予数组的后半部分。 题目分析解决思路解决方法:设置两个指针,第一个指针初始化指向数组的第...

边看边写(调整数组顺序使奇数位于偶数前面)

#region 调整数组顺序使奇数位于偶数前面 /// /// 输入一个 整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分 ...

剑指offer:调整数组顺序使奇数位于偶数前面

题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。    如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个...

调整数组顺序使奇数位位于偶数前面

只完成基本功能的解法       void ReorderOddEven(int *pData, unsigned int length) { if (pData == NULL ...

剑指offer-调整数组顺序使奇数位于偶数前面

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分 1》当不考虑奇数与奇数,偶数与偶数的相对位置时: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)