1.排列数组奇数在前偶数在后

文章目录

大家好,我是晓星航。今天为大家带来的是 排列数组奇数在前偶数在后 相关的讲解!😀

public static void swap(int[] array) {int left = 0;int right = array.length - 1;while (left < right) {while (left < right && array[left] % 2 != 0){left++;}while (left < right && array[right] % 2 == 0) {right--;}int tmp = array[left];array[left] = array[right];array[right] = tmp;}
}public static void main(String[] args) {int[] arrays = {8,24,3,4,2,1,5,51,98,132,23,7};swap(arrays);System.out.println(Arrays.toString(arrays));
}

image-20240328194718959

通过left和right两个假指针来实现前后奇数与偶数的互换,这里要求是奇数在前偶数在后,因此我们left找偶数,right找奇数,都找到后便进行一次互换,然后left和right继续找下一个奇数与偶数再次互换,直到left大于right就停止跳出while循环。

知识点:

1.常见的交换 - 临时变量法

int tmp = array[left];
array[left] = array[right];
array[right] = tmp;

创建一个新的空变量,使空变量暂时存储需要交换的值,从而达到我们两个变量值的交换。

2.打印输出一个数组

不能直接使用 System.out.println(arrays); ,如果这样打印的话,打印结果是arrays的地址。

image-20240328194746296

正确写法:System.out.println(Arrays.toString(arrays));

image-20240328194729190

补充知识点:

冒泡排序:

public static void sort(int[] array){for (int i = 0; i < array.length-1; i++) {for (int j = 0; j < array.length-1-i; j++) {if (array[j] < array[j+1]) {int tmp = array[j];array[j] = array[j+1];array[j+1] = tmp;}}}
}

最基础的排序方法,一定要熟练掌握!!!

感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/776783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LibreOffice 将word,excel,PowerPoint文件转换PDF

安装LibreOffice并将Word和Excel文件转换为PDF文件&#xff0c;并设置文件存放路径的步骤如下&#xff1a; 1. 安装LibreOffice 如果尚未安装LibreOffice&#xff0c;可以通过以下命令在Ubuntu上安装&#xff1a; sudo apt update sudo apt install libreoffice 2. 使用Li…

IDEA2023版本整合SpringBoot热部署

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 开发环境篇 ✨特色专栏&#xff1a; M…

手撕算法-最小覆盖子串

描述 分析 滑动窗口。 参考力扣官方的题解思路 本问题要求我们返回字符串 s 中包含字符串 t 的全部字符的最小窗口。我们称包含 t 的全部字母的窗口为「可行」窗口。 我们可以用滑动窗口的思想解决这个问题。在滑动窗口类型的问题中都会有两个指针&#xff0c;一个用于「延伸…

javascript基础练习题之渔夫捕鱼

一、题目要求&#xff1a;根据用户输入的年、月、日判断是打鱼还是晒网。代码中使用了isLeapYear函数来判断输入的年份是否为闰年&#xff0c;getDays函数来计算输入日期是一年中的第几天&#xff0c;然后根据计算结果来确定是打鱼还是晒网。最后代码通过弹窗提示用户是打鱼还是…

吴渔夫:AI技术引领游戏产业革命,小团队有大作为

AI技术的突飞猛进&#xff0c;游戏产业正在经历一场前所未有的变革。中国网游先锋&#xff0c;火石控股创始人吴渔夫&#xff0c;近日在接受第一财经日报的采访&#xff0c;对AI在游戏制作中的应用和未来趋势有着深刻的见解。 吴渔夫指出&#xff0c;AI技术的引入极大地降低了游…

游戏推广的新篇章:Xinstall助力实现全渠道效果统计与提升

随着游戏市场的日益繁荣&#xff0c;游戏推广已成为各大游戏公司争夺市场份额的关键环节。然而&#xff0c;面对众多推广渠道和复杂的用户行为&#xff0c;如何精准地评估推广效果、优化投放策略&#xff0c;成为了游戏推广人员亟待解决的问题。此时&#xff0c;Xinstall作为一…

绿岛机械加入2024第13届生物发酵展

参展企业介绍 南京绿岛机械设备有限公司是一家专注于碟式分离机领域的生产服务型企业。公司以多年从事离心分离设备的设计和制造经验为基础&#xff0c;通过产品改良和技术革新&#xff0c;从根本上解决了传统碟式分离设备的固有技术缺陷&#xff0c;增强了控制系统的安全性和…

Go语言教程和案例

Go语言&#xff0c;也称为Golang&#xff0c;是由Google开发的一种静态强类型、编译型、并发型&#xff0c;并具有垃圾回收功能的编程语言。Go语言的设计理念是解决其他编程语言在大型软件开发中遇到的问题&#xff0c;特别是为了提高软件开发和运行的效率。以下是一些关于Go语…

2024第六届环境科学与可再生能源国际会议能源 (ESRE 2024) 即将召开!

2024第六届环境科学与可再生能源国际会议 能源 &#xff08;ESRE 2024&#xff09; 即将举行 2024 年 6 月 28 日至 30 日在德国法兰克福举行。ESRE 2024 年 旨在为研究人员、从业人员和专业人士提供一个论坛 从工业界、学术界和政府到研究和 发展&#xff0c;环境科学领域的专…

Java基础入门day23

day23 实践题&#xff1a; 需求&#xff1a; 学院要求有学院的基本信息 学院的老师也要有基本信息 学院的打印机可以分别打印学院的基本信息和教师的基本信息 设计这样一个系统&#xff0c;要求要有较好的可扩展性和可维护性 package com.saas.oo1; ​ public class Colle…

【C++初阶】之类和对象(中)

【C初阶】之类和对象&#xff08;中&#xff09; ✍ 类的六个默认成员函数✍ 构造函数&#x1f3c4; 为什么需要构造函数&#x1f3c4; 默认构造函数&#x1f3c4; 为什么编译器能自动调用默认构造函数&#x1f3c4; 自己写的构造函数&#x1f3c4; 构造函数的特性 ✍ 拷贝构造…

gethostbyname()域名解析到IP

利用域名获取IP gethostbyname() (该函数在Linux手册中已经被标注[[deprecated]]&#xff0c;不建议再使用。) #include <netdb.h>struct hostent* gethostbyname(const char* hostname);入参是域名字符串&#xff0c;返回值中存储了对应的IP地址。 struct hostent {…

在Windows系统上安装多个 Nodejs

前言 在Windows系统安装Nodejs 在Windows系统上安装多个 Nodejs v14.16.1安装位置 D:\sde\nodejs\node-v14.16.1-win-x64 v16.20.2安装位置 D:\sde\nodejs\node-v16.20.2-win-x64 v18.20.0安装位置 D:\sde\nodejs\node-v18.20.0-win-x64 v20.12.0安装位置 D:\sde\nod…

Java毕业设计-基于springboot开发的游戏分享网站平台-毕业论文+答辩PPT(附源代码+演示视频)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、后台登录2.1管理员功能模块2.2用户功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于springboot开发的…

ChatGLM2本地部署方法

chatglm2部署在本地时&#xff0c;需要从huggingface上下载模型的权重文件&#xff08;需要科学上网&#xff09;。下载后权重文件会自动保存在本地用户的文件夹上。但这样不利于分享&#xff0c;下面介绍如何将chatglm2模型打包部署。 一、克隆chatglm2部署 这个项目是chatgl…

“李子园”上榜中国民营企业社会责任优秀案例

日前&#xff0c;由浙江省工商联、浙江工商大学主办&#xff0c;杭州市工商联协办的2024浙江民营企业社会责任暨浙商ESG研讨会在杭州召开&#xff0c;探索民营企业履行社会责任的方法路径和趋势。会上公布了2023年中国民营企业社会责任优秀案例&#xff08;浙江入选企业&#x…

【小尘送书-第十五期】Excel函数与公式应用大全for Excel 365 Excel

大家好&#xff0c;我是小尘&#xff0c;欢迎你的关注&#xff01;大家可以一起交流学习&#xff01;欢迎大家在CSDN后台私信我&#xff01;一起讨论学习&#xff0c;讨论如何找到满意的工作&#xff01; &#x1f468;‍&#x1f4bb;博主主页&#xff1a;小尘要自信 &#x1…

jQuery选择器

什么是jQuery选择器&#xff1f; jQuery选择器 是指对#JavaScript# 选取元素的操作进行了封装&#xff0c;使选择 Html 元素时更加的容易。 jQuery选择器作用&#xff1f; jQuery 选择器类似于 CSS 选择器&#xff0c;用来选取网页中的元素 $("h3").css("back…

【Linux】对进程地址空间的理解

一、关于进程地址空间的简单理解 进程地址空间其实是分了很多个区域的&#xff0c;区域划分的本质就是区域内的各个地址都是可以使用的。如同下面这个图所示&#xff1a; 无论是环境变量的地址还是环境变量表的地址&#xff0c;所存放的地址都在栈的上部。这里的已初始化数据和…

golang 使用protobuf

1.下载protobuf的编译器&#xff0c;安装到系统设置环境变量 地址&#xff1a;https://github.com/protocolbuffers/protobuf/releases 下载对应的编译器 2.安装库文件 二选一 go get github.com/golang/protobuf/proto go get github.com/gogo/protobuf/proto 安装go语言插件 …