栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

008-调整奇偶数位置-【c语言】

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

008-调整奇偶数位置-【c语言】

1. 题目

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

2. 分析

如下图:

3. 代码
// nums 是一个数组的首地址,numsSize是数组 nums 的长度
int* move(int* nums, int numsSize)
{
	assert( nums );
	if ( !numsSize) return nums;

	int* res = nums;

	int left = 0;
	int right = numsSize - 1;
	while ( left < right )
	{
		// 找左边的偶数,如果是奇数继续找,是偶数则不找了
		while ( nums[left] % 2 == 1 && left < right)
		{
			left ++;
		}

		// 找右边的奇数,是偶数就继续找,是奇数就不找了
		while ( nums[right] % 2 == 0 && left < right)
		{
			right --;
		}

		if ( left < right)
		{
			int temp = nums[left];
			nums[left] = nums[right];
			nums[right] = temp;
		}
	}

	return res;
}
文章索引

模拟实现字符串长度函数 strlen
NumberOf1InBinary
数据结构双链表


后记

我水平有限,错误难免,还望各位加以指正。


本文内容到此结束,感谢您的阅读!!!如果内容对你有帮助的话,记得给我三连丫(点赞、收藏、关注)


本人博客所有文章,均为原创。部分文章中或引用相关资料,但均已著明来源出处。可随意转载、分享,但需加本文链接,以及版权说明。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/528949.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号