JAVA経典アルゴリズム40題(18)
【プログラム35】タイトル:入力配列、最大は最初の要素と交換し、最小は最後の要素と交換し、出力配列。
【プログラム36】タイトル:n個の整数があり、その前の各数を順にm個の位置に後ろに移動させ、最後のm個の数を一番前のm個の数に変えます。
import java.util.*;
public class Ex35 {
public static void main(String[] args) {
int i, min, max, n, temp1, temp2; int a[];
System.out.println(" :");
Scanner keyboard = new Scanner(System.in);
n = keyboard.nextInt();
a = new int[n];
for (i = 0; i < n; i++) {
System.out.print(" " + (i + 1) + " ");
a[i] = keyboard.nextInt();
}
//
max = 0;
min = 0;
// ,
for (i = 1; i < n; i++) { if (a[i] > a[max])
max = i; // , a[max], max
if (a[i] < a[min])
min = i; // , a[min], min
}
// for ,max ,min
temp1 = a[0];
temp2 = a[min]; // temp
a[0] = a[max];
a[max] = temp1; // a[0] a[max]
if (min != 0) { // a[0],
a[min] = a[n - 1];
a[n - 1] = temp2; // a[min] a[n-1]
} else { // a[0],
a[max] = a[n - 1];
a[n - 1] = temp1;
}
for (i = 0; i < n; i++) { //
System.out.print(a[i] + " ");
}
}
}
【プログラム36】タイトル:n個の整数があり、その前の各数を順にm個の位置に後ろに移動させ、最後のm個の数を一番前のm個の数に変えます。