java將兩個順序表合併為一個順序表
阿新 • • 發佈:2018-12-14
Main類
package combine; public class Main { public static void main(String[] args) { SeqList a = new SeqList(new int[] { 3,6,9 }); SeqList b = new SeqList(new int[] { 1,7,10 }); SeqList c = new SeqList(new int[a.array1.length + b.array1.length]); Combine cob=new Combine(); cob.Combine(a, b, c); for(int i=0;i<c.array1.length;i++) { System.out.print(c.array1[i]+" "); } } }
Combine類
package combine; public class Combine { public void Combine(SeqList A,SeqList B,SeqList C) { int a=0,b=0,c=0; while(a<A.last&&b<B.last) { if(A.array1[a]<B.array1[b]) { C.array1[c++]=A.array1[a++]; }else { C.array1[c++]=B.array1[b++]; } } while(a<A.last) { C.array1[c++]=A.array1[a++]; } while(b<B.last) { C.array1[c++]=B.array1[b++]; } C.last=c; } }
SeqList類
package combine;
public class SeqList {
public int[] array1;
public int last;
public SeqList(int[] array1) {
this.array1=array1;
if(array1!=null) {//判斷是否為空
last=array1.length;
}
}
}