演習課題「配列の操作」
Q 個のクエリが与えられます。空の配列 A を用意したあと、 Q 個のクエリを順に処理してください。各クエリは、以下の 2 つのいずれかです。
・ 1 X
配列の末尾に X を追加する。
・ 2 X Y
A_X と A_Y の値を交換する。
すべてのクエリの処理が終わったあと、配列 A の要素を改行区切りで出力してください。
右側のコードエリアには、配列を受け取ったのちに入力に応じて場合分けを行う処理までが書かれたコードが用意されています。場合分けの内側の部分のコードを書き加え、問題を解くコードを完成させてください。
入力される値
Q
query_1
query_2
...
query_Q
1 行目に Q が与えられます。続く Q 行にクエリが与えられます。 各クエリは
1 X
または
2 X Y
の形式で与えられます。
制約
・ 入力は全て整数
・ 1 ≦ Q ≦ 10
・ q_i は次のいずれかの形式
「1 X(X はアルファベットの小文字)」「2 X Y(1 ≦ X, Y ≦ A の要素数)」
期待する出力値
d
e
t
#02:スタックとキューの実装準備
このチャプターでは、スタックとキューの実装準備について学習します。
スタック・キューの実装には配列の要素の追加・削除の操作ができる必要があります。
標準入出力や配列の操作に不安のある方は、各言語の入門編などで復習すると良いでしょう。
入力値5
1 2 3 4 5
コードimport java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
int query = sc.nextInt();
arr[i] = query;
}
for (int j = 0; j < n; j++) {
System.out.println(arr[j]);
}
sc.close();
}
}
入力値5
push 1
stay
push 2
push 3
stay
コードimport java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int last = 0;
int[] arr = new int[256];
for (int i = 0; i < n; i++) {
String query = sc.next();
if(query.equals("push")){
int x = sc.nextInt();
arr[last] = x;
last++;
}
}
for (int j = 0; j < last; j++) {
System.out.println(arr[j]);
}
sc.close();
}
}