大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java教程之歸并算法之有序數組合并算法實現

Java教程之歸并算法之有序數組合并算法實現

更新時間:2019-10-12 09:52:08 來源:動力節點 瀏覽2516次



  近期動力節點Java小編會給大家分享一些比較實用的Java技能,對Java開發感興趣的小伙伴們可以關注了解一下,本篇文章小編和大家分享的是歸并算法之有序數組合并算法實現,下面我們一塊來看一下吧。


  一個簡單的有序數組合并算法:寫一個函數,傳入2個有序的整數數組,返回一個有序的整數數組。實現相當簡單,創建一個長度為這兩個長度之和的數組,然后分別用三個指針指向這三個數組,找到這兩個數組中各個元素在合并數組中的位置并插入,直到某個數組指針到達尾部。再將另一個數組剩下的所有元素,直接放入歸并數組尾部。算法的簡單實現,需要注意的是對參數的校驗,判斷數組是否有序。


public class MergeOrderedArray { 
 public static int[] merge(int [] a,int []b){ 
 if(!isOrderedArray(a)){ 
 System.out.println(" array a is not an ordered array."); 
 return null; 
 } 
 
 if(!isOrderedArray(b)){ 
 System.out.println(" array b is not an ordered array."); 
 return null; 
 } 
 
 int a_len = a.length; 
 int b_len = b.length; 
 int[] merge = new int[a_len+b_len]; 
 int i=0,j=0,k=0; 
 while(i<a_len&&j<b_len){ 
 if(a[i]<b[j]){ 
 merge[k++]=a[i++]; 
 }else{ 
 merge[k++]=b[j++]; 
 } 
 } 
 
 //A數組全部合并完畢,將b數組剩余直接加入合并數組 
 if(i==a_len){ 
 for(;j<b_len;j++){ 
 merge[k++]= b[j]; 
 } 
 }else{ 
 for(;i<a_len;i++){ 
 merge[k++]= a[i]; 
 } 
 } 
 
 return merge; 
 
 } 
 
 public static boolean isOrderedArray(int [] array){ 
 if(array==null||array.length==0){ 
 return false; 
 } 
 
 for(int i = 0;i<array.length-1;i++){ 
 if(array[i]>array[i+1]){ 
 return false; 
 } 
 } 
 return true; 
 } 
 
 public static void main(String[] args) { 
 int a [] = {1,2,3,4,5}; 
 int b [] = {2,3,4,5,6,7,8,9}; 
 int [] merge = merge(a,b); 
 System.out.println(Arrays.toString(merge)); 
 } 
}

  算法的時間復雜度,取決于待合并的兩個數組的長度,所以是O(M+N),空間復雜度也是O(M+N),即需要的歸并數組的長度是M+N。


  以上是小編簡單為大家分享的歸并算法之有序數組合并算法實現,希望對小伙伴們會有所幫助。想要了解更多Java開發方面的問題的話,小伙伴們可以登錄動力節點IT培訓官網咨詢。動力節點是專業的Java培訓機構,不僅有專業的老師和與時俱進的課程體系,還有大量的Java視頻教程供學員觀看學習,想要學好Java開發的小伙伴快快行動吧。


  相關視頻:2019年免費Java視頻教程入門到精簡

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产精品免费一区二区三区四区 | 亚洲欧美日韩成人一区在线 | 深夜男人影院 | 国产精品a在线观看香蕉 | 国产福利99| 日韩精品欧美成人 | 久久爱992xxoo | 久久艹综合 | 99久久国产亚洲综合精品 | 亚洲欧美日韩不卡一区二区三区 | 久久不见久久见免费影院 | 2018天天干天天操 | 成人动漫影院 | 精品欧美一区二区三区在线 | 国产精品天天干 | 亚洲国产伦理 | 四虎国产永久在线精品免费观看 | 天海冀一二三区 | 天天干天天爽 | 宅男影院在线观看 | 中文字幕天天躁夜夜狠狠综合 | 多多多色麻豆 | 四虎最新免费网址 | 国产99久久久久久免费看 | 中文国产欧美在线观看 | 在线观看欧美一区 | 精品一区二区在线欧美日韩 | 日本一线一区二区三区免费视频 | 特黄特黄一级片 | 99爱视频在线观看 | 曰本lesxxxx在线观看视频 | 精品国产一区二区三区不卡在线 | 四虎4hu影库永久地址 | 亚洲免费区 | 色多多h| 99精品视频在线视频免费观看 | 性一级视频| 国产成人一区二区三区免费观看 | 日韩欧美久久一区二区 | www.夜夜操 | 午夜日韩|