java 调整数组顺序使奇数位于偶数前面
生活随笔
收集整理的這篇文章主要介紹了
java 调整数组顺序使奇数位于偶数前面
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目描述
輸入一個(gè)整數(shù)數(shù)組,實(shí)現(xiàn)一個(gè)函數(shù)來調(diào)整該數(shù)組中數(shù)字的順序,使得所有的奇數(shù)位于數(shù)組的前半部分,所有的偶數(shù)位于數(shù)組的后半部分,并保證奇數(shù)和奇數(shù),偶數(shù)和偶數(shù)之間的相對(duì)位置不變。
2.解題思路
(1)第一個(gè)思路:類似冒泡算法,前偶后奇數(shù)就交換,這里要注意考慮盡可能多的情況:
public class Reorderarray {public static void main(String [] args) {//int [] array = {0,1,3,5,6,7,8,9};int [] array = {2,4,6,1,3,5,7};for (int i=0; i<array.length-1; i++) {for (int j=0; j<array.length-1; j++) {if(array[j]%2==0 && array[j+1]%2==1) {int t=array[j];array[j]=array[j+1];array[j+1]=t;}//System.out.println(j+" "+Arrays.toString(array));}}System.out.println(Arrays.toString(array));} }運(yùn)行結(jié)果:
[1, 3, 5, 7, 2, 4, 6](2)第二個(gè)思路:另外創(chuàng)建2個(gè)數(shù)組,用于把奇偶分別保存,最后再按先奇數(shù)后偶數(shù)的順序填入到Array中。
import java.util.Arrays; import java.util.List; import java.util.ArrayList;public class Reorderarray {public static void main(String [] args) {int [] array = {0,1,3,5,6,7,8,9};//int [] array = {2,4,6,1,3,5,7};List<Integer> odd = new ArrayList<Integer>();List<Integer> even = new ArrayList<Integer>();int temp = 0;for (int j=0; j<array.length; j++) {temp=array[j];if(temp%2==1) {odd.add(temp);}else {even.add(temp);}int m = 0;for(int jj = 0;jj < odd.size();jj++){array[m] = odd.get(jj);m++;}for(int i=0; i < even.size(); i++){array[m] = even.get(i);m++;}}System.out.println(odd);System.out.println(even);System.out.println(Arrays.toString(array));}}運(yùn)行結(jié)果:
[1, 3, 5, 7, 9] [0, 6, 8] [1, 3, 5, 7, 9, 0, 6, 8] 與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的java 调整数组顺序使奇数位于偶数前面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三亚市有几个区几个县(三亚市有几个区)
- 下一篇: java 反转链表、合并链表