Java算法实现调整数组顺序使奇数位于偶数之前的讲解
作者:JimmyU1 发布时间:2022-01-23 22:41:19
标签:java,数组,算法,排序
调整数组顺序使奇数位于偶数之前
1. 题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
2. 题目分析
该题目类似于一个选择排序,将奇数选择出来,放置于数据前面的位置,保持其他未被选择的元素的相对位置不变;
1. 遍历数组,当数组元素为奇数是进行处理,判断条件为 n % 2 != 0
2. 设置一个变量标注当前已遍历的元素中奇数的个数oddNum,也是将该奇数元素放置于数组中的索引
3. 循环将该元素前至上一个奇数(已放置好的奇数元素位于数组oddNum的位置)之间的偶数向后移一位,然后将该元素放置于oddNum+1的位置
3. 解题代码
public class Solution {
public void reOrderArray(int [] array) {
int oddNum = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] % 2 != 0) {
int temp = array[i];
for (int j = i; j > oddNum; j--) {
array[j] = array[j - 1];
}
array[oddNum] = temp;
oddNum++;
}
}
}
}
来源:https://blog.csdn.net/u012449363/article/details/71437326


猜你喜欢
- 本文实例讲述了Android编程之SMS读取短信并保存到SQLite的方法。分享给大家供大家参考,具体如下:Android 之 SMS 短信
- public/protected/privatepublic表示公开,private表示私有,protected表示保护,什么都不写表示默认
- JAVA 枚举单例模式及源码分析的实例详解 单例模式的实现有很多种,网上也分析了
- 定义: SharedPreferences
- 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工
- 今天闲来无事写了一个清内存的小东西,类似360,在桌面上悬浮,点击后清除后台无用程序,清除后台程序是通过调用ActivityManger.k
- 在电商上购买商品后,如果在下单而又没有支付的情况下,一般提示30分钟完成支付,否则订单自动。比如在京东下单为完成支付:超过24小时,就会自动
- 传统的多分支方式(圈复杂度为6):public String order(String type) { if ("1&
- 在sql server2005以及之后的sql server中引入了Xml数据类型,在C#中使用Xml数据类型需要指定参数类型为SqlDbT
- 0、引言在开发的过程中,很多业务场景需要一个树形结构的结果集进行前端展示,也可以理解为是一个无限父子结构,常见的有报表指标结构、菜单结构等。
- 1、创建实体属性标记public class CellAttribute : Attribute {&n
- 一. String类简介1. 介绍字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来
- 概述主要用于Java线程里指定时间或周期运行任务。Timer是线程安全的,但不提供实时性(real-time)保证。构造函数Timer()默
- 本文实例讲述了Java中public static void main(String args[])的来龙去脉。分享给大家供大家参考,具体如
- package com.yswc.dao.sign;import java.io.BufferedReader;import java.io
- 由于今天在网上搜了一下c#写的计算器,发现大多都太繁琐了,很多没必要并且不容易理解的东西就专门写了这个博客1.首先新建一个windows窗体
- 一、前言 验证码可以说在我们生活中已经非常普遍了,任何一个网站,任何一个App都
- 看一段程序String t = "a||b||c||d";String[] temp = t.split("\
- * 与过滤器在讲Spring boot之前,我们先了解一下过滤器和 * 。这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较大的
- ReentrantLock锁ReentrantLock是Java中常用的锁,属于乐观锁类型,多线程并 * 况下。能保证共享数据安全性,线程间有