首页 > 编程语言 > 详细

调整数组中奇数偶数位置

时间:2015-12-05 01:54:37      阅读:215      评论:0      收藏:0      [点我收藏+]

调整数组使奇数全部都位于偶数前面。

输入一个整数数组,实现一个函数,来调整该数组中数字的顺序

使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。

方法一:

从两边向中间转换位置

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

void even_old(int *arr1,int size)
{
	assert(arr1);
	int *p1 = arr1;
	int *p2 = arr1+size-1;

	if (size == 0||p1==NULL)
		return 0;
	while (p1<p2)
	{
		if ((p1<p2)&&(*p2 % 2==0))
		{
			p2--;
		}
		if ((p1 < p2) && (*p1 % 2 != 0))
		{
			p1++;
		}
		if (p1 < p2)
		{
			int tmp = 0;
			tmp = *p1;
			*p1 = *p2;
			*p2 = tmp;

		}
	}
}
int main()
{
	int arr[10] = { 2, 4, 6, 8, 0, 1, 3, 5, 7, 9 };
	int size = sizeof(arr) / sizeof(arr[0]);
	int i = 0;
	even_old(arr,size);
	for (i = 0; i < size;i++)
	     printf("%d ", arr[i]);
	system("pause");
	return 0;
}


本文出自 “无以伦比的暖阳” 博客,请务必保留此出处http://10797127.blog.51cto.com/10787127/1719763

调整数组中奇数偶数位置

原文:http://10797127.blog.51cto.com/10787127/1719763

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!