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

调整数组使奇数全部都位于偶数前面 调整数组使奇数全部都位于偶数前面。 题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。 ———————————————————————————————————— 对题目的解析: 要将所有的奇数挪到偶数的前面,就需要定义两个指针,一个left指针指向数组的开始,一个right指针指向数组的最后一个数字,当left指... 阅读详情

例如我们输入一个数组 arr[]={1,2,3,4,5,6,7,8,9,10}
调整数组使得奇数全部都位于偶数前面
得到{1,3,5,7,9,2,4,6,8,10}
这里类似于冒泡排序的思想,我们在这里创建一个边界bount,初始化值为0
遍历一次数组,比较前后两个数的奇偶性,如果前面的数为偶数,后面的数是奇数,我们将两个数进行交换,这里需要创建一个Swap函数如下(判断奇偶性质,用%2来判断)

void Swap(int* x, int* y){
		int tmp = 0;
		tmp=*x;
		*x = *y;
		*y = tmp;
}

每次找奇数,循环一次,找到一个奇数,并放到合适位置
[0,bound)表示已排序区间
[bound,size)表示待排序区间(size为数组长度)
具体函数如下:

void Separate(int* arr, int size){
	//每次找奇数的方式
	//[0,bound)已排序区间
	//[bound,size)待排序区间
	for (int bound = 0; bound < size; bound++){
		//循环执行一次,bound+1
		//此时找到一个比较小的值,并放到合适位置;
		for (int cur = size - 1; cur>bound; cur--){
		//完成一趟找奇数的过程
			if (arr[cur]%2==1&&  arr[cur-1]%2==0){
				Swap(&arr[cur - 1], &arr[cur]);//判断奇偶性,当前偶后奇即不符合要求,将两个数进行交换
			}
		}
	}
}

总函数如下:

Swap(int* x, int* y){
	int tmp = 0;
	tmp = *x;
	*x= *y;
	*y = tmp;

}

void Separate(int* arr, int size){
	for (int bound = 0; bound < size; bound++){
		for (int cur = size - 1; cur>bound; cur--){
			if (arr[cur]%2==1&&  arr[cur-1]%2==0){
				Swap(&arr[cur - 1], &arr[cur]);
			}
		}
	}
}

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

在这里插入图片描述

产品经理-面试题目--持续更新 答:面试官,你好,我叫XXX,来自于XXXX,我系统的学习过软件开发,也主动的积累了不少产品方面的实战经验,在学习期间,我自己独立的完成了2个深度项目,一个是仿抖音的短视频APP全流程设计,另外一个是电商后台系统的模块,通过这些项目,我不仅熟练使用Axure等工具做出高保真原型图和清晰的产品框架,也形成了数据驱动和用户优先的思维习惯,另外,我也注重拓展自己的能力边界,拿到了CAIE人工智能证书,我希望能把AI能力融入到产品场景,提升体验和效率,我非常喜欢产品工作带来的创造性和逻辑性,希望有机会加入贵公司。 阅读详情

相关推荐

android+音乐节拍检测,科学网—音乐节拍跟踪或音乐节拍检测软件,LilyBeats alpha - 石自强的博文...

我们设计并实现了一种用于实时跟踪音乐节拍的软件。该软件可以用于智能灯方案提供商,为其提供灯光随音乐变化的核心解决方案。首先给出软件的下载链接:或者音乐节拍是乐曲中表示固定单位时值和强弱规律的组织形式,亦称拍子。它有两个特性:周期性和连续性。节拍周期性表现为节拍结构,是乐曲中周期性出现的节奏序列。节拍连续性表现为音乐的平均速度,其单位为bpm(beat per minute每分钟音乐节拍的个数)。音...

weixin_39571403的博客 1400

调整数组顺序使奇数位于偶数前面(三种解法)

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 1.利用两层循环(类似于冒泡排序) class Solution { public: void reOrderArray(vector<int> &array) { ...

dreamispossible的博客 1227

IMU、INS、GNSS与组合导航:从原理到工程实践全解析

在自动驾驶、无人机和机器人等智能系统的定位方案中,IMU、INS、GNSS和组合导航常被混为一谈,但它们在硬件层级、数据特性和误差机制上截然不同。IMU作为惯性测量单元,以百赫兹以上频率输出加速度和角速度;INS基于IMU完成姿态、速度与位置的递推解算,却因积分累积误差而随时间漂移;GNSS提供绝对位置,但易受遮挡和干扰。组合导航通过卡尔曼滤波将两者融合,实现短期不飘、长期不偏的连续定位,这正是高精度导航系统的技术底座。工程落地时,从IMU标定、Allan方差分析到相机/LiDAR与IMU外参标定,再到松耦

weixin_29193259的博客 379

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

使用C语言:调整数组使奇数全部都位于偶数前面。包含题目、分步骤思路、最终实现代码 和 最终实现效果。

正在努力学C呀!(要学好久呢......) 1777

unity shader 后处理实现水墨风格渲染「Low Poly 」变「水墨画 」

水墨风格渲染 这次学校的比赛打算做一个中国古代背景的游戏,所以尝试做了水墨风格的渲染。 主要按以下四步来实现的效果: 根据色调和饱和度调整饱和度。 对图像进行模糊 水墨风格的物体边缘 物体内画笔笔触的模拟 接下来我分别就这四步依次展开说明: 调整饱和度 这里我使用Post-Processing Stack 的Color Grading 来调节饱和度,通过使用Grading Curv...

九级铁甲蛹的博客 1万+

使用Python下载ECMWF的ERA-5数据

一、注册账号 [官网]https://www.ecmwf.int/ 二、登录后获取下载key https://cds.climate.copernicus.eu/api-how-to 如图右侧红色框中的内容复制保存为TXT文件,并重命名为“.cdsapirc”,注意前面有点,保存在 C:\Users\username\.cdsapirc,(WINDOWS系统),username指当前电脑登录账户。 三、安装cdsapi库 以pycharm为例: 在pycharm中依次打开:File>setting

wise_sun的博客 7703

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

调整数组顺序使奇数位于偶数前面(点击链接进入题目) 描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题目分析:针对本题,我们有不同的方法来解决,本题中保证奇数和偶数之间的相对位置不变是一个难点,读者们可以分别考虑两种情况:a-相对位置变化;b-相对位置不变。 法一:我们很容易想到的一个方法就是对数组进行遍历,此时借助一个辅助数组newarray,遍历第一遍数组找出奇数,挨个尾插

小东的博客 1215

DIY电子管耳放实战:12AU7+6V6GT组合的电路设计与调试心得

本文详细分享了DIY电子管耳放的实战经验,重点解析了12AU7与6V6GT经典组合的电路设计、元件选型与调试过程。内容涵盖从核心架构设计、关键元件(如输出变压器、耦合电容)的科学选型,到静态工作点设置、负反馈引入及常见噪声问题的排查,旨在帮助音响DIY爱好者和电子管放大器初学者成功打造一台低失真、高信噪比且富有“胆味”的耳机放大器,享受动手制作的乐趣与温暖音质。

weixin_29230805的博客 552

调整数组顺序使奇数位于偶数前面(C语言)

调整数组顺序使奇数位于偶数前面(C语言)

Butayarou的博客 2079

win2016 php mysql_Windows Server 2016 IIS10.0+PHP(FastCGI)+MySQL环境搭建教程 | 系统运维...

准备篇一、环境说明:操作系统:Windows Server 2016PHP版本:php 7.1.0MySQL版本:MySQL 5.7.17.0二、相关软件下载:1、PHP下载地址:2、MySQL下载地址:3、Microsoft Visual C++ 2010 可再发行组件包(安装MySQL需要此插件)4、Visual C++ Redistributable for Visual Studio 20...

weixin_34794420的博客 1377

Pyside6实战:3种.ui文件加载方式对比(附完整代码示例)

本文深入解析Pyside6中3种.ui文件加载方式的优劣与性能优化策略,包括动态加载QUiLoader、预编译方案及混合策略。通过实测数据和完整代码示例,帮助开发者根据项目需求选择最优解,提升界面加载效率与内存管理。

weixin_30897233的博客 88

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

【题目描述】: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。 【解题思路】: 数组奇数位于前半部分,偶数位于后半部分,实现这个需要用到循环,在写函数时,要知道奇数和偶数满足的条件是什么。循环开始当满足前半部分下标小于后半部分下标(left&lt;right)时,如果前面的数是奇数则下标往后再走一个(left++),...

是胖胖没错了的博客 1128

【DRAM存储器一】基本存储单元、阵列结构、读写原理

详述DRAM存储器存储单元、存储阵列结构和读写原理

highman110的博客 7253
上一篇: 冒泡排序
下一篇: 杨氏矩阵(java实现)
周末的丢
博客等级 码龄7年 197粉丝 331原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值