JAVA一維數組的複製、插入、合併
package JAVA_Project_01_04;
import java.util.Scanner;
public class TextOperatorArray {
public static void copy() {
int array[] = new int[]{1, 2, 3, 4};
int temp1[] = new int[array.length];
int temp2[] = new int[array.length];
System.arraycopy(array, 0, temp1, 0, array.length);
System.out.print("複製後的數組結果:");
for (int i = 0; i < temp1.length; i++)
System.out.print(temp1[i] + "");
System.out.println();
temp2 = array;
}
public static void insert() {
int i, j;
int n = 5;
int num[] = new int[n + 1];
for (i = 0; i < num.length - 1; i++) {
num[i] = (i + 1) * 6;
}
int length = num.length;
System.out.println("插入數字之前的數組爲:");
for (i = 0; i < length; i++)
if (num[i] == 0)
System.out.print("存儲空間");
else
System.out.println();
System.out.println();
System.out.println("輸出一個要插入的數:");
Scanner scan = new Scanner(System.in);
int in = scan.nextInt();
for (i = 0; i < length - 1; i++) {
if (num[i] > in)
break;
}
for (j = length - 1; j > i; j--) {
num[j] = num[j - 1];
}
num[j] = in;
for (i = 0; i < length; i++)
System.out.print(num[i] + "");
System.out.println();
}
public static int[] combine(int[] a, int[] b) {
int alen = a.length;
int blen = b.length;
int length = alen + blen;
int i, j;
System.out.println("合併之間的兩個數組:");
for (i = 0; i < alen; i++)
System.out.print(a[i] + "");
System.out.println();
for (i = 0; i < blen; i++)
System.out.print(b[i] + "");
System.out.println();
int[] c = new int[length];
for (i = 0, j = 0; i < alen && j < blen; ) {
if (a[i] < b[j]) {
c[i + j] = a[i];
i++;
} else {
c[i + j] = b[j];
j++;
}
}
if (i == alen)
System.arraycopy(b, j, c, alen + j, blen - j);
if (j == blen)
System.arraycopy(a, i, c, blen + i, alen - i);
System.out.println("合併並排序之後的新數組:");
for (int k = 0; k < a.length + b.length; k++)
System.out.print(c[k] + "");
System.out.println();
return c;
}
public static void main(String[] args) {
System.out.println("1.數組複製:");
copy();
int a[] = {1, 2, 3, 12};
int b[] = {5, 6, 7, 8};
System.out.println("2.數組合並:");
int c[] = combine(a, b);
System.out.println("3.數組插入:");
insert();
}
}