• ベストアンサー

Javaについて教えてください!

このJavaのプログラミング問題の答えが青線のようになる理由を簡単に教えてほしいです

  • Java
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.2

サンプルコードを拝見するに、 スタックっちゅうデータ構造を実現してるみたいやね。 スタックっちゅうのは「後入れ先出し(LIFO:Last In First Out)」っていうのを実現するためのデータ構造で、 実生活でいうたら、そうやね、積ん読みたいなんを想像したらええんとちゃうかな? 積ん読って、取り出すときはいちばん上に積んだ本(要は最後に積んだ本) から取り出すやろ?そういうこっちゃねん。 で、サンプルコードの話やけど、 pushっていうんはスタックに格納するための関数、 popっていうんはスタックから取り出すための関数や。 で、スタックに AAA BBB CCC DDD EEE の順に格納してるから、 スタックの一番下にあるんがAAA そっから上へ向かって、順に BBB, CCC, DDD, EEEの順に格納しとるから、 EEEがスタックのいちばん上にあるねん。 それで、popでスタックから2回取り出しとるわけで、 その順番はいちばん上にあるEEE, その次に上にあるDDDの順、っていうわけや。 そやから、出力は EEE DDD っていう風になるねん。 ついでに言うとくと、スタックと対極にあるデータ構造をキュー(queue)っていうて、これは先入れ先出し(FIFO:First In First Out)の代表やね。実生活でいうと、 銀行でATMの利用を待ってる順番とか スーパー・コンビニなんかでレジ待ちしている順番を 思い浮かべたらええと思うわ。なんでかっていうたら、 通常、そういう行列って、先に並んだ人から処理されてくやろ?割り込みとかがなかったら。

rinchomu
質問者

お礼

分かりやすくありがとうございます🙏🏻勉強になりました!

その他の回答 (2)

回答No.3

PUSH&POPはJavaじゃなくても、 事実上すべてのプログラミング言語で使うから 覚えておいていいかも! 一言で言えば「積み木」 1,2,3,4,5って詰めば、 最初に取れるのは「5」だよね?って話。 もし、3を取りたいなら、4,5をどかさないといけない! つまり、縦一直線に山を作ってるのと同じよ! (ちなみ、複雑になると横の山が出来るツリー構造にもなるが) 実生活では、エレベーターと同じ! 急いでエレベーターに乗った人ほど「最後にしか降りれない」 最初に降りるのは「最後に乗った人よね?」 って事と同じよん

  • kjm15986
  • ベストアンサー率28% (26/92)
回答No.1

青線とは?

関連するQ&A

  • Javaでわからないものがあります

    Javaでわからないものがあります。 この問題でコンパイル実行した結果をだせという問題で、答えの1が500というのはわかったのですが、2と3の答えの出し方がわからなくて困っています

  • Javaでわからないものがあります。

    Javaでわからないものがあります。 この問題の答えがCなのですが、答えまでのプロセスがわからなくて困っています

    • ベストアンサー
    • Java
  • 初めてのJava

    今まで、大学でCを使いプログラミングをしてきたのですが、授業内で、Javaを使ってプログラミングをすることになりました。(GUIのプログラミングでXcodeを使います。) Javaはやったことがないので、予習をしたいと思うのですが、なにかお勧めの参考書等はないでしょうか? あと、XcodeはMacでしか使えないのでしょうか? お願いします。

    • ベストアンサー
    • Java
  • Java Basic

    JavaプログラミングとBasicプログラミングの違いってなんですか?教えてください

  • Javaもそうでしょうか?

    JavaScriptはwebを動かすプログラミング言語と認識していますが Javaもそうでしょうか? Javaもwebプログラミング元と思って間違いではないですか?

    • ベストアンサー
    • Java
  • javaとは?

    たまに「javaのアップデートをしてください」 という表示がでるのですが、javaを使うことによって何ができるのでしょうか? javaはプログラミング言語のひとつだと思っていたのですが、 インターネットをするにおいて、javaは必要な機能なのですか? javaのアップデートをしないとjavaで作られたサイトが見れないのでしょうか?

  • Javaで数値解析

    Javaプログラミングで、 下記の条件で積分をしたいのですがうまくいきません。 分割数分の台形の面積合計を足していくのはわかるのですが、 答えが合わなくて・・・ どなたか解答お願い致します。 問題はこれです。 y=x^2 を 0から1の範囲で積分する というものです。 因みに積分結果は1/3(0.3333・・・)になるのですが・・・

    • ベストアンサー
    • Java
  • 独学でJavaを

    会社でJavaプログラミングをやっていく必要があります。エンドユーザーレベルでのプログラミングになると思いますのであまり複雑なものではありません。独学でJavaを学ぶに良いと思われる参考書は何でしょうか?ひとつは「独習Java」なんか良いのでは?と教えてもらいました。他に何かありますでしょうか?宜しくお願いします。

  • Javaで何ができるのか

    HTMLではWEBページがつくることはわかるのですがJavaでは何ができるのでしょうか? Javaでif文や関数などの勉強をしましたがこれがどこにつながるのかがよくわかりませんでした。会社面接でもJavaで何がしたいのか?と問われると戸惑います。 Javaプログラミングでできているソフトウェア、仕組みについて書いてあるWEBページなどもあれば併せて教えていただけますか?

    • ベストアンサー
    • Java
  • 独学でJavaを

    会社でJavaプログラミングをやっていく必要があります。サーブレットでwebをやります。エンドユーザーレベルでのプログラミングになると思いますのであまり複雑なものではありません。独学でJavaを学ぶに良いと思われる参考書は何でしょうか?ひとつは「独習Java」なんか良いのでは?と教えてもらいました。他に何かありますでしょうか?宜しくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう