两个有序数组合并成一个有序数组
来源:互联网 发布:护士幻灯片制作软件 编辑:程序博客网 时间:2024/05/21 22:37
public class ArraySort { public static void main(String[] args) { int[] a = {1,3,4}; int[] b = {2,3,5,6}; int[] c = mergeArray(a, b); for(int n : c){ System.out.print(n+" "); } } //合并数组 public static int[] mergeArray(int[] a , int[] b){ int result[] = new int[a.length + b.length]; if(checkSort(a) && checkSort(b)){ //说明ab数组都是有序的数组 //定义两个游标 int i=0,j=0,k=0; while(i<a.length && j<b.length){ if(a[i] <= b[j]){ result[k++] = a[i++]; }else{ result[k++] = b[j++]; } } while(i < a.length){ //说明a数组还有剩余 result[k++] = a[i++]; } while(j < b.length){ result[k++] = b[j++]; } } return result; } //检查一个数组是否是有序的 // 1 2 3 public static boolean checkSort(int[] a){ boolean flag = false;//默认不是有序的 for(int i=0;i<a.length-1;i++){ if(a[i] > a[i+1]){ //说明不是有序的 flag = false; break; }else{ flag = true; } } return flag; } }
转自:http://blog.csdn.net/shenshen123jun/article/details/21657685
<pre name="code" class="java">package com.bi;/** * 两个有序数组合并成一个有序数组 * */public class ArraySortTest {public static void main(String args[]){int[] n1= {1,3,5,6};int[] n2 = {2,3,4,9,0};int[] n=mergerArray(n1,n2);for(int a:n){System.out.print(a+" ");}}public static int[] mergerArray(int[] n1,int[] n2){int[] result = new int[n1.length+n2.length];if(checkSort(n1)!=true){sort(n1);}else if(checkSort(n2)==false){sort(n2);}int i=0,j=0,k=0;while(i<n1.length && j<n2.length){if(n1[i]>=n2[j]){result[k++]=n2[j++];}else{result[k++]=n1[i++];}}while(i<n1.length){result[k++]=n1[i++];}while(j<n2.length){result[k++]=n2[j++];}return result;} public static boolean checkSort(int[] a){ boolean flag = true; for(int i=0;i<a.length-1;i++){ if(a[i]>a[i+1]){ flag = false; break; } }return flag; } public static int[] sort(int[] a){ for(int i=0;i<a.length;i++){ for(int j=i+1;j<a.length;j++){ if(a[i]>a[j]){ int temp = a[i]; a[i]=a[j]; a[j]=temp; } } } return a; }}
最开始我用for循环合并数组,发现两个数组长度不一致,导致合并的数组少数,所以得用while循环判断数组的长度
0 0
- java将两个有序数组合并成一个有序数组
- 两个有序数组合并成一个有序数组
- 两个有序数组,合并成一个有序数组!
- 两个有序数组合并成一个有序数组
- 两个有序数组合并成一个有序数组
- 两个有序数组合并成一个有序数组
- 两个有序数组合并成一个有序数组
- 两个有序数组合并成一个有序数组
- 两个有序数组合并成一个有序数组
- 两个有序数组合并成有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- Redis使用心得一 の 环境配置
- 【面试】京东成都研发部面试
- Java实现定时任务的三种方法
- [iOS] 使用 CocoaPods 管理第三方套件
- android alertDialog 使用
- 两个有序数组合并成一个有序数组
- 第4章 第2题
- Android自定义进度条
- maven spring mvc project的配置
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
- Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]
- POJ 1423 BIG NUMBER
- Spring 3 AOP 概念介绍
- Java8 新特性和改进总览