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

题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。


#include <stdio.h>
#include <stdlib.h>
void sort(int *a,int sz)
{
	int i = 0;
	int j = sz-1;
	for(i=0; i!=j; i++)
	{ 
		if(a[i]%2!=0)
			continue;
		else
		{
			int t = a[i];
			a[i] = a[j];
			a[j] = t;
			if(a[j]%2==0)
				j--;
			i--;
		}

	}
}

int main()
{
	int a[] = {1,9,5,6,4,3,1};
	int sz = sizeof(a)/sizeof(a[0]);
	int i ;
	sort(a,sz);
	for(i=0; i<sz ;i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}



版权声明:本文为a1414345原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。