zoukankan      html  css  js  c++  java
  • 调整数组顺序使奇数位于偶数前面(剑指offer-13)

    方法1:新建两个数组,一个数组用来放奇数,一个数组用来放偶数,最后再把它们合并起来。

     1 import java.util.*;
     2 public class Solution {
     3     public void reOrderArray(int [] array) {
     4         ArrayList<Integer> a = new ArrayList<>();
     5         ArrayList<Integer> b = new ArrayList<>();
     6         
     7         for(int i=0;i<array.length;i++){
     8             if(array[i]%2==1){
     9                 a.add(array[i]);
    10             }
    11             else
    12                 b.add(array[i]);
    13         }
    14         //合并两个数组
    15         int index = 0;
    16         for(int x : a ){
    17             array[index++] = x;
    18         }
    19         for(int x : b ){
    20             array[index++] = x;
    21         }
    22     }
    23 }

    方法二:采用插入排序的思路,碰到奇数时就往前移动,直到前面的数也是奇数就停止。

     1 public class Solution {
     2     public void reOrderArray(int [] array) {
     3         for(int i=0;i<array.length;i++){
     4             if(array[i]%2 == 1){//遇到奇数时开始往前移动
     5                 for(int j=i-1;j>=0;j--){
     6                     if(array[j]%2==0){//移动到前面是偶数时,移动停止
     7                         int tem = array[j];
     8                         array[j] = array[j+1];
     9                         array[j+1] = tem;
    10                     }
    11                     else break;
    12                 }
    13             }
    14         }
    15     }
    16 }
  • 相关阅读:
    软件测试入门知识
    QTP小应用一则
    频分时分波分码分
    解析UML9种图的作用
    OSI七层模型
    暑期实习心得
    0724工作小结 SQL查库是重点
    0723脚本存储过程的学习
    0722工作日志
    工作之余回味了曾经的写过的小说
  • 原文地址:https://www.cnblogs.com/yzhengy/p/13218228.html
Copyright © 2011-2022 走看看