線性表合並 – JAVA編程語言程序開發技術文章

類一

數組合並,但是數組又不能越界,為瞭節省內存,新建一數組用來合並數組,然後再賦值給要合並的數組

package org.se;
 //線性表合並
public class arithMetic11 {
public static int[] la={1,5,4};//用數組代替線性表
public static int[] lb={4,6,45,56,7,8,9};
public static int la_len;//獲取數組長度
public static int lb_len;
 

public arithMetic11() {
Init();
// TODO Auto-generated constructor stub
}

public void Init()  //初始化數據
{
      la_len=la.length;//獲取數組長度
  lb_len=lb.length;
}
public void ListInsert()  //實現插入數據
{
int a;//用來儲存lb中元素

for(int i=0;i<lb.length;i++)
{
a=lb[i];

if(!(LocateElem(a)))//判斷la是否有等於a的元素
{
int [] text=new int[++la_len]; //定義新的數組
//System.out.println(la_len);  //text=la;如果這樣賦值,則text的長度和la的長度一樣
for(int j=0;j<la_len-1;j++)
{
//System.out.println(la_len);
text[j]=la[j];            //將la復制給text
}

   text[la_len-1]=a;//將a放在新數組最後位置
   for(int x=0;x<la_len;x++)
{
GetElem(text);
//System.out.println(la_len);
System.out.println("la["+x+"]…"+la[x]);
}
}
}
}
static boolean LocateElem(int e)//判斷la是否有等於a的元素
{
boolean b=true; //判斷la是否有等於a的元素
for(int j=0;j<la.length;j++)
{
if(e!=la[j])
{
b=false;
}
else
{
b=true;
}
}
return b;
}

public void GetElem(int[] p)  //將新數組再賦值給la
{
la=null;
la=p;
}
}

類二

package org.se;

public class test {

static arithMetic11 am;

public static void main(String[] args) {
am=new arithMetic11();
am.ListInsert();
// TODO Auto-generated method stu
}
}

發佈留言