import java.util.ArrayList;
import java.util.Arrays;
import java.util.Stack;
public class Title {
public static void main(String[] args){
f();
}
// 0、一维数组中存有奇数和偶数,将奇数在奇数的位置上从大到小排序,
// 将偶数在偶数的位置上“前后翻转”。?
/*
思路:1、取出数组中的奇数 偶数 ,以及对应的索引
* 2、奇数排序 偶数反转
* 3、按照原来的索引插入数据,索引的位置没有改变,只是该位置对应的元素改变了!
*/
public static void f(){
int[] a ={3,10,5,9,8,6,7,100,87};
//使用集合保存奇数 偶数
ArrayList<Integer> listQ = new ArrayList<Integer>();
ArrayList<Integer> listO = new ArrayList<Integer>();
ArrayList<Integer> listIndexQ= new ArrayList<Integer>(); //奇数索引
ArrayList<Integer> listIndexO = new ArrayList<Integer>(); //偶数索引
for(int i=0;i<a.length;i++){
if(a[i]%2!=0){
// System.out.println("奇数:"+a[i]);
listQ.add(a[i]);
listIndexQ.add(i);
}else{
// System.out.println("偶数:"+a[i]);
listO.add(a[i]);
listIndexO.add(i);
}
}
//转移元素值
int[] q = new int[listQ.size()];
for(int i=0;i<listQ.size();i++){
q[i] = listQ.get(i);
}
//奇数排序
Arrays.sort(q);
//排序后测试
// for(int i=0;i<q.length;i++){
// System.out.println(q[i]);
// }
//偶数元素倒置
//取值 保存在数组中
int[] o = new int[listO.size()];
int j = 0;
for(int i=listO.size()-1;i>=0;i--){
// System.out.println("偶数反转元素:"+listO.get(i));
o[j]=listO.get(i);
j++;
}
//测试
// for(int i=0;i<o.length;i++){
// System.out.print("反转后的偶数为:"+o[i]+" ");
// }
//重新组合数组
int[] newArray = new int[listIndexQ.size()+listIndexO.size()];
for(int i=0;i<q.length;i++){
newArray[listIndexQ.get(i)]=q[i];
}
for(int i=0;i<o.length;i++){
newArray[listIndexO.get(i)]=o[i];
}
System.out.print("经过操作后的元素为:");
for(int i=0;i<newArray.length;i++){
System.out.print(newArray[i]+" ");
}
}
}
分享到:
相关推荐
调整数组顺序使奇数位于偶数前面,python,jupyter,调整数组顺序使奇数位于偶数前面,python,jupyter
labview统计数组中奇数偶数个数,利用移位寄存器,用labview编写的奇偶计数程序,把第i次循环执行的结果作为第i+1次循环的输入,LabVIEW循环结构中的移位寄存器可以实现这种功能。
调整数组中数字的顺序,使得奇数位于数组的前半部分,偶数位于后半部分
标题中的“调整数组顺序使得奇数在偶数前面1”是指一种编程问题,目标是将一个整数数组重新排列,使得所有的奇数都出现在数组的前面,所有的偶数都出现在数组的后面。这个问题通常出现在算法练习中,例如LeetCode等...
在这个问题中,目标是将一个整数数组中的所有奇数移到所有偶数的前面,同时保持原数组中奇数和偶数的相对顺序。这可以应用于各种场景,例如数据预处理或特定条件下的数据排序。 在给定的描述和Java代码中,提供了一...
在本实验中,我们将学习如何使用条件转移指令、串操作指令和循环指令来编写一个将一个包含20个元素的数组STRING分成一个偶数数组STRING1和一个奇数数组STRING2的程序。 二、实验要求 1. 掌握条件转移指令的使用...
在给定的“vb 随机数组 区分奇偶 并排列大小”的场景中,我们需要创建一个随机数组,然后区分其中的奇数和偶数,并根据数值大小进行排序。下面将详细讲解如何实现这一过程。 首先,我们创建一个随机数组。在VB中,...
以下实例用于判断一个数字是否为奇数或偶数: # -*- coding: UTF-8 -*- # Filename : test.py # Python 判断奇数偶数 # 如果是偶数除于 2 余数为 0 # 如果余数为 1 则为奇数 num = int(input("输入一个数字: ")) if...
从数组中获取偶数项。 使用安装 npm i even --save 用法 var even = require ( 'even' ) ; // strings or integers even ( [ 0 , '1' , 2 , '3' , '4' , 5 , 6 , 7 , 8 , 9 , 10 ] ) ; //=> [0, 2, '4', 6, 8, 10]...
在这个“易语言-判断奇数偶数例子”中,我们将探讨如何使用易语言来判断一个数是奇数还是偶数,这是计算机编程中最基础的知识点之一。 在数学中,一个整数如果能被2整除,那么它就是偶数;反之,如果不能被2整除,...
在标题提到的“偶数子数组已排序”的情况下,这意味着算法已经对数组的偶数索引元素进行了排序,而奇数索引元素可能未排序。这样的情况可以稍微修改归并排序的逻辑,使其更加高效。例如,可以先对奇数索引元素进行...
ACL 奇数偶数匹配 在本实验中,我们学习了如何使用 ACL 来匹配奇数和偶数的网络号。通过对二进制的观察,我们发现了一个规律,即奇数的网络号的第 24 位为 1,而偶数的网络号的第 24 位为 0。根据这个规律,我们...
调整数组顺序使奇数位于偶数前面.md
NewArrays(),为存放结果数组,SortColumnsOrOrders(),传递排序参数数组,偶数个为排序列号,奇数为升降序,0为升序,1为降序;FieldRow,是否有字段行(第一行),true为有字段行,false为无字段行,默认为无字段行;...
本篇文章将深入探讨如何实现一个特定的排序算法,即对数组进行排序,使得偶数索引位置的元素按照降序排列,而奇数索引位置的元素按照升序排列。这种排序规则在某些特定的数据处理场景下可能会非常有用。 首先,我们...
处理数组时,经常需要对数组中的元素进行筛选,例如筛选出数组中的奇数或偶数。本文将介绍如何使用PHP中的`array_filter`函数和匿名函数(闭包)来筛选出数组中的奇数和偶数。 ### 关键知识点 1. **数组的定义与...
面试题21. 调整数组顺序使奇数位于偶数前面题目链接面试题21. 调整数组顺序使奇数位于偶数前面题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,
java基础面试题调整数组顺序使奇数位于偶数前面本资源系百度网盘分享地址
title: 剑指Offer-调整数组顺序使奇数位于偶数前面subtitle: 调整数组顺序使奇数位于偶数前面categories: 剑指Offer调整数组顺序
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面剑指 Offer 21. 调整数组顺序使奇数位于偶数前面输入一个整数数组,实现一个函数来调整该数组中数字