Java サンプル - 配列の反転
以下のサンプルでは、独自に定義した reverse メソッドを使用して配列を反転します:
サンプル 1
public class サンプルTest {
/* 配列を反転 */
static void reverse(int a[], int n)
{
int[] b = new int[n];
int j = n;
for (int i = 0; i < n; i++) {
b[j - 1] = a[i];
j = j - 1;
}
/* 入力配列を反転 */
System.out.println("反転後の配列は:\n");
for (int k = 0; k < n; k++) {
System.out.println(b[k]);
}
}
public static void main(String[] args)
{
int [] arr = {10, 20, 30, 40, 50};
reverse(arr, arr.length);
}
}
/* 配列を反転 */
static void reverse(int a[], int n)
{
int[] b = new int[n];
int j = n;
for (int i = 0; i < n; i++) {
b[j - 1] = a[i];
j = j - 1;
}
/* 入力配列を反転 */
System.out.println("反転後の配列は:\n");
for (int k = 0; k < n; k++) {
System.out.println(b[k]);
}
}
public static void main(String[] args)
{
int [] arr = {10, 20, 30, 40, 50};
reverse(arr, arr.length);
}
}
上記コードを実行した出力結果は次のとおりです:
反转后数组是: 50 40 30 20 10
サンプル 2
public class サンプルTest {
/* メソッドを作成し、最初と最後を交換し、2番目と最後から2番目を交換し、以降同様に繰り返します */
static void reverse(int a[], int n)
{
int i, k, t;
for (i = 0; i < n / 2; i++) {
t = a[i];
a[i] = a[n - i - 1];
a[n - i - 1] = t;
}
System.out.println("反転後の配列は:\n");
for (k = 0; k < n; k++) {
System.out.println(a[k]);
}
}
public static void main(String[] args)
{
int [] arr = {10, 20, 30, 40, 50};
reverse(arr, arr.length);
}
}
/* メソッドを作成し、最初と最後を交換し、2番目と最後から2番目を交換し、以降同様に繰り返します */
static void reverse(int a[], int n)
{
int i, k, t;
for (i = 0; i < n / 2; i++) {
t = a[i];
a[i] = a[n - i - 1];
a[n - i - 1] = t;
}
System.out.println("反転後の配列は:\n");
for (k = 0; k < n; k++) {
System.out.println(a[k]);
}
}
public static void main(String[] args)
{
int [] arr = {10, 20, 30, 40, 50};
reverse(arr, arr.length);
}
}
上記コードを実行した出力結果は次のとおりです:
反转后数组是: 50 40 30 20 10
サンプル
import java.util.*;
public class サンプルTest {
/* java.util.Arrays.asList(array) メソッドを使用する */
static void reverse(Integer a[])
{
Collections.reverse(Arrays.asList(a));
System.out.println(Arrays.asList(a));
}
public static void main(String[] args)
{
Integer [] arr = {10, 20, 30, 40, 50};
reverse(arr);
}
}
public class サンプルTest {
/* java.util.Arrays.asList(array) メソッドを使用する */
static void reverse(Integer a[])
{
Collections.reverse(Arrays.asList(a));
System.out.println(Arrays.asList(a));
}
public static void main(String[] args)
{
Integer [] arr = {10, 20, 30, 40, 50};
reverse(arr);
}
}
上記コードを実行した出力結果は次のとおりです:
[50, 40, 30, 20, 10]その他の拡張
Java サンプル