zoukankan      html  css  js  c++  java
  • 算法研究之合并两个已排序的数组java版

    package com.zken.test;
    
    
    
    
    /**
     * @author iamzken
     * 2015-8-28
     * 合并两个有序数组
     *
     */
    public class Sorter2 {
    
    public static void merge2SortedArray(int[] a , int[] b , int[] c){
    //a数组的当前索引
    int i = 0;
    //b数组的当前索引
    int j = 0;
    //c数组的当前索引
    int k = 0;
    //循环,只要a和b都没有遍历完就一直循环
    while(i < a.length && j < b.length){
    //如果当前a[i]比b[j]小,就把c[k]元素置为a[i],同时k++,i++
    if(a[i] < b[j]){
    c[k++] = a[i++];
    //否则,如果当前a[i]比b[j]大,就把c[k]元素置为b[j],同时k++,j++
    }else{
    c[k++] = b[j++];
    }
    }
    
    //上个循环能够结束,说明a已经循环完或b已经循环完
    //下述两个循环只能有一个满足循环条件
    //只要a没有循环完,就把a中剩下的元素依次放入c中
    while(i < a.length){
    c[k++] = a[i++];
    }
    //只要b没有循环完,就把b中剩下的元素依次放入c中
    while(j < b.length){
    c[k++] = b[j++];
    }
    }
    //测试程序
    public static void main(String[] args) {
    //待合并数组a
    int[] a = new int[]{1,3,5,7,9};
    //待合并数组b
    int[] b = new int[]{2,4,6,8};
    //c用来存放合并之后的数组
    int[] c = new int[a.length+b.length];
    merge2SortedArray(a, b, c);
    for(int i = 0;i < c.length;i++){
    System.out.print(c[i]+"	");
    }
    }
    
    }

  • 相关阅读:
    【npm】mac下node环境搭建
    pair求解迷宫的最短路径(bfs)
    dos窗口启动关闭Mysql
    二维差分模板
    一维差分模板
    DOS命令
    迷宫搜索dfs实现
    DFS 迷宫问题
    BFS广搜解决迷宫问题(跟着B站大佬手撸)
    蓝桥杯省赛模拟赛
  • 原文地址:https://www.cnblogs.com/iamconan/p/7383565.html
Copyright © 2011-2022 走看看