Hatena::Groupg21b

J検平成30年度後期情報検定基本スキル問03

J検平成30年度後期情報検定基本スキル問03

J検平成30年度後期情報検定基本スキル問03

http://jken.sgec.or.jp/docs/past_test/190210_mondaijs01.pdf

スタック操作

  • push( )
  • pop

キュー操作

  • enq
  • deq

双方向リスト操作

(問題には,メソッドが登場しない)

  • prev
  • next


<設問1>

01: push(20)

02: enq(5)

03: push(pop() ÷ deq())

04: enq(pop())

05: push(10)

06: push(15)

07: enq(6)

08: x ← deq()

09: y ← pop()

スタック,キューを横に表示する

開始

スタック

(空)

キュー

(空)

 01: push(20) 実行後

スタック

20

キュー

(空)

02: enq(5) 実行後

スタック

20

キュー

5

03: push(pop() ÷ deq()) 実行後 // スタック,キューともに空になったあとに,push( 20 / 5 )

スタック

4

キュー

(空)

04: enq(pop()) 実行後 // スタックから 4 が取り出されて,キューに,4

スタック

(空)

キュー

4

05: push(10) 実行後

スタック

10

キュー

4

06: push(15) 実行後

スタック

15, 10

キュー

4

07: enq(6) 実行後

スタック

15, 10

キュー

6, 4

08: x ← deq() 実行後

x = 4

スタック

15, 10

キュー

6

09: y ← pop() 実行後

x = 4, y = 15

スタック

10

キュー

6

よって,

x = 4, y = 15

スタックは,10,キューには,6 が残っている


<設問2>

root 5009 より

この双方向リスト構造は,5009 番地から開始している

(null, 7, 5012) → (5009, 15, 5003) → (5012, 19, 5024) → (5003, 125, null)

ここに,5000 番地から,格納されている,(null, 78, null) を挿入するには,

(null, 7, 5012) → (5009, 15, 5003) → (5012, 19, 5000) → (5003, 78, 5024) → (5000, 125, null)

次,ここから,5003 番地から格納されている,19 を削除するのは

(null, 7, 5012) → (5009, 15, 5000) → (5012, 78, 5024)→ (5000, 125, null)