day13_1_C语言_调整数组使奇数全部都位于偶数前面

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

#include<stdio.h>
void change(int arr[], int sz)
{
	int* left = arr;
	int* right = arr + sz - 1;
	int tmp = 0;
	while (1)
	{
		if (*left % 2 == 1)
		{
			left++;
			if (left >= right)
			{
				break;
			}
		}

		if(*right % 2 == 0)
		{
			right--;
		}

		tmp = *left;
		*left = *right;
		*right = tmp;
	}
}

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


	return 0;
}
上一篇:笔记连载 | Day13【简易计时器实验】之【Xilinx Spartan-6实现】篇


下一篇:Day13 PythonWeb全栈课程课堂内容