コンピューター好きのブログ

主にコンピューター・ラズパイと電子工作・オーディオ関連の記事を書いています。

JavaScriptでソートアルゴリズムを可視化してみました

私は今までJavaScriptのプログラムを書いたことがありませんでした。 ずっと興味はあったのですが、なかなか最初の一歩が踏み出せず棚上げしていました。

そんなある日、ブックオフで以下の本を見つけました。

HTML5&PHP&JavaScriptでWeb制作入門 (日経BPパソコンベストムック)

HTML5&PHP&JavaScriptでWeb制作入門 (日経BPパソコンベストムック)

表紙に「小中学生でもわかる」と書かれている通り、Webで使われる技術についてかみ砕いて書かれており、とてもわかりやすいです。

JavaScriptはCやJavaに似たような書き方なので取っつきやすく感じ、さっそく書いてみたくなりました。

この記事では私が初めて作ったJavaScriptのプログラムについてご紹介します。

初めて作ったJavaScriptプログラム

初めて作ったJavaScriptプログラムはデータのソートを行うものです。

ソートとは、不規則に並んでいるデータを順番に並べ替える処理のことで、コンピューターアルゴリズムの授業には必ず出てきます。

例えば、「3,1,5,2,4」 と並んでいるデータがあったら、「1,2,3,4,5」(昇順) や、「5,4,3,2,1」(降順)に並び替えます。

主なソートアルゴリズム(選択ソート、バブルソート、ヒープソート、クイックソート)の違いが視覚的に分かれば面白いかなと思い作成してみました。

各ソートの概要はWikipedia等をご覧ください。 Wikipediaのページは以下になります。

ja.wikipedia.org

ja.wikipedia.org

ja.wikipedia.org

ja.wikipedia.org

それぞれ超有名なアルゴリズムなのでネットに数多くの解説があります。

動かしてみよう!

下にあるボタンを押すとボタンに書かれたアルゴリズムでソートを実行します。

なお、ソート実行中に他のアルゴリズムを実行することはできません。誤動作します。。中途半端ですみません。(2019/09/29修正しました)

色々至らない点だらけのプログラムですが、初めてということでご容赦を。m(__)m

つまずいたこと

はてなブログでonclickが消える

ボタン押下でJavaScriptの関数を呼び出すために、button要素でonclickに関数を指定しています。

しかし、なぜか編集画面から消えるという事象が発生しました。

どうしようかと思いましたが、Webを検索したら解決策を公開してくださっている方がいました。ありがたいことです。

以下にご紹介します。Markdown記法で書けばよいということでしたので、本記事はMarkdown記法で書きました。ちなみに初めてMarkdown記法を使いました。(^_^;)

tomorrow63.hatenablog.com

(c) 2018 toomath