将整数数组按就分成2个部分,数组坐标为奇数,右边为偶数(java实现)

时间:2022-07-14 00:30:32

方法1:

若不考虑性能:

使用一个新的数组target

遍历原数组 发现奇数则复制到target中 然后偶数 最后显示

 import java.util.Arrays;

 public class Sperate_odd_even {

     public static void sperate(int[] a)
{
int index=0;
int[] target=new int[a.length];
for(int i=0;i<a.length;i++)
{
if(a[i]%2!=0)
{
target[index]=a[i];
index++;
}
} for(int i=0;i<a.length;i++)
{
if(a[i]%2==0)
{
target[index]=a[i];
index++;
}
} System.out.println(Arrays.toString(target));
} public static void main(String[] args) {
int a[]={2,1,5,3,4,8,12,13,7,77,122};
System.out.println(Arrays.toString(a));
sperate(a); } }

 方法2:

算法时间复杂度为O(n)

使用2个指针不断判断奇偶性 然后互换位置

 public static void sperate_two(int[] a)
{
int i=0;//定义坐标下标
int j=a.length-1;//定义右边下标
int temp;//跑龙套的
while(i<j)//开始遍历
{
while(a[i]%2!=0)//如果左边遇到奇数则继续遍历
i++;
while(a[j]%2==0)//同理右边
j--; if(i<j)//交换
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
System.out.println(Arrays.toString(a));
}

运行效果:

将整数数组按就分成2个部分,数组坐标为奇数,右边为偶数(java实现)

将整数数组按就分成2个部分,数组坐标为奇数,右边为偶数(java实现)的更多相关文章

  1. MongoDB查询内嵌数组(限定返回符合条件的数组中的数据)(1)

    https://blog.csdn.net/bicheng4769/article/details/79579830 项目背景 最近在项目中使用mongdb来保存压测结果中的监控数据,那么在获取监控数 ...

  2. java—数组乘积输入: 一个长度为n的整数数组input 输出: 一个长度为n的数组result,满足result&lbrack;i&rsqb; &equals; input数组中,除了input&lbrack;i&rsqb; 之外的所有数的乘积,不用考虑溢出例如 input &lbrace;2&comma; 3&comma; 4&comma; 5&rcub; output&colon; &lbrace;60&comma; 40&comma; 30&comma; 24&rcub;

    /** * 小米关于小米笔试题 数组乘积输入: 一个长度为n的整数数组input 输出: 一个长度为n的数组result,满足result[i] = * input数组中,除了input[i] 之外的 ...

  3. 58&period;Partition Equal Subset Sum(判断一个数组是否可以分成和相等的两个数组)

    Level:   Medium 题目描述: Given a non-empty array containing only positive integers, find if the array c ...

  4. Scala编程入门---数组操作之Array&period;ArrayBuffer以及遍历数组

    在Scala中,Array代表的含义与Java类似,也是长度不可改变的数组.此外,由于Scala与java都是运行在JVM中,双方可以互相调用,因此Scala数组底层实际上是java数组.列如字符串数 ...

  5. &lbrack;C&plus;&plus; Primer Plus&rsqb; 第7章、函数(一)程序清单——递归,指针和const,指针数组和数组指针,函数和二维数组

    程序清单7.6 #include<iostream> using namespace std; ; int sum_arr(int arr[], int n);//函数声明 void ma ...

  6. c&plus;&plus;刷题(12&sol;100)无序数组中和为定值的最长子数组

    题目一: 最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 你找到的子数组应是最短的,请输出它的长度. 示例 1: 输入: ...

  7. 《C专家编程》数组和指针并不同--多维数组

    <C专家编程>数组和指针并不同 标签(空格分隔): 程序设计论著笔记 1. 背景理解 1.1 区分定义与声明 p83 声明相当于普通声明:它所说明的并不是自身,而是描写叙述其它地方创建的对 ...

  8. java基础&colon;方法的定义和调用详细介绍&comma;方法同时获取数组最大值和最小值&comma;比较两个数组&comma;数组交换最大最小值&comma;附练习案列

    1. 方法概述 1.1 方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可 ...

  9. 从PHP底层源码去深入理解数组,并用C模拟PHP关联数组(原创)

    PHP是一门入门容易,使用范围广泛的语言,以其灵活性以及web后端开发被很多人熟知,也被很多人戏称“PHP是世界上最好的语言”.本人是一名“忠实”的PHPer,相信用过PHP的程序员都会体会到PHP数 ...

随机推荐

  1. PHP 自带查询运行内存的函数

    memory_get_usage - 返回分配给 PHP 的内存量 int memory_get_usage ([ bool $real_usage = false ] ) 返回当前分配给你的 PHP ...

  2. APP原型设计工具,哪家强?转自知乎

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:*超 链接:http://www.zhihu.com/question/20403141/answer/25329730 ...

  3. c&num; 贪吃蛇源码

    using UnityEngine; using System.Collections;using System.Diagnostics;using UnityEngine.SceneManageme ...

  4. USACO 2006 November Gold

    POJ 3253 Fence Repair STL堆操作 我想说,STL里堆是我目前见到最蛋疼的操作. #include <cstdio> #include <cstring> ...

  5. PHP &OpenCurlyQuote;scan’函数拒绝服务漏洞

    漏洞名称: PHP ‘scan’函数拒绝服务漏洞 CNNVD编号: CNNVD-201311-464 发布时间: 2013-12-06 更新时间: 2013-12-06 危害等级: 中危   漏洞类型 ...

  6. 基于Sql Server 2008的分布式数据库的实践(五)

    原文 基于Sql Server 2008的分布式数据库的实践(五) 程序设计 ------------------------------------------------------------- ...

  7. thrift概述

    Apache Thrift 是FaceBook实现的一种跨平台的远程服务调用(RPC)的框架.它采用接口描述语言(IDL)定义并创建服务,传输数据采用二进制格式,相对于XML和Json等常用数据传输方 ...

  8. 构造函数,This关键字

    构造函数: 即构建创造对象时调用的函数.在new的时候自动执行,给对象进行初始化.创建对象都必须要通过构造函数初始化.(有参和无参) 一个类中如果没有定义过构造函数,那么类中会有一个默认的空参数构造函 ...

  9. web负载均衡【总结归纳所有看过的资料的理论】

    web负载均衡 在有些时候进行扩展是显而易见的,比如下载服务由于带宽不足而必须进行的扩展,但是,另一些时候,很多人一看到站点性能不尽如人意,就马上实施负载均衡等扩展手段,真的需要这样做吗?当然这个问题 ...

  10. 1&period;6 JAVA高并发之线程池

    一.JAVA高级并发 1.5JDK之后引入高级并发特性,大多数的特性在java.util.concurrent 包中,是专门用于多线程发编程的,充分利用了现代多处理器和多核心系统的功能以编写大规模并发 ...