陣列筆試題(一)
阿新 • • 發佈:2021-01-26
技術標籤:javaSE---深入淺出
package com.uncle.array_test;
/**
* 給定陣列a,b
* 1、將a,b合併
* 2、合併之後的陣列升序排列
*/
public class Test1 {
//給定的陣列
int[] a = {1, 2, 3, 6, 7, 8,};
int[] b = {3, 4, 5, 9};
//自己定義的新陣列
int[] c = new int[a.length + b.length];
//將兩個數組合並的方法
private int[] together(int [] a, int[] b, int[] c) {
for (int i = 0; i < a.length; i++) {
c[i] = a[i];
}
for (int j = a.length; j < (a.length + b.length); j++) {
c[j] = b[j-a.length];
}
return c;//1,2,3,6,7,8,3,4,5,9
}
//將自己定義的新數組裡的元素按升序排列的方法
private int[] shengxu() {
//拿到自己將a,b合併之後的新陣列
this.together(a,b,c);
//把第一個元素拿出來
for (int x = 0; x < (a.length + b.length-1); x++) {
//和後面的每一個元素比
for (int y = x + 1; y < (a.length + b.length); y++) {
//如果此時拿到的元素比後一個元素大,那麼就換位置
if (c[x] > c[y]) {
//自己定義一個m,以此完成陣列內兩個元素的交換
int m = c[x];
c[x] = c[y];
c[y] = m;
}
}
}
return c;
}
public static void main(String[] args) {
Test1 test = new Test1();
int[] c = test.shengxu();
//增強for迴圈,列印輸出,看到結果
for (int d : c) {
System.out.println(d);
}
}
}