プログラミング原人の進化ログ

プログラミング原人の進化論

オレ プログラミング ベンキョウ スル。マナンダ コト カク。

2019-04-01から1ヶ月間の記事一覧

「プログラミング言語の基礎概念」のためのEmacsメジャーモードを書いた

「プログラミング言語の基礎概念」の演習システムのためのメジャーモードを作ってみました。 ソースコードと、実際に利用するまでの流れを書いておきます。 環境 GNU Emacs 26.1 動機 「プログラミング言語の基礎概念」(五十嵐淳著)という、とても良い本が…

数列の転倒数をマージソート で求める

転倒数を求める問題を解きました。バブルソートの交換回数を数えることによっても求めることができますが、より高速なマージソート を用いた解法を実装します。 問題 次の問題を解きます。 反転数 | アルゴリズムとデータ構造 | Aizu Online Judge 考え方 マ…

Emacsで右かっこの自動挿入

かっこが勝手に閉じるのがあまり好きではなかったのですが、ちゃんと使ってみると以外と悪くないかもしれないと思い、自動挿入を導入することにしました。 環境 Mac OS Mojave バージョン 10.14.4 GNU Emacs 26.1 手順 init.elなどに (electric-pair-mode 1)…

C++の標準ライブラリでソート

C++のソートを、標準ライブラリを使って行う方法のメモです。 主要なソートをだいたい勉強し終えたので、そろそろ車輪の再発明のフェーズを脱しようという意図です。 安定でないソート sortを使います。ヘッダファイルで定義されています。sortはクイックソ…

【OCaml】Graphicsモジュールが読み込めなかった時の解決策のメモ

先日OCamlをインストールして、チュートリアルをやっていたんですが、Graphicsが読み込めない...という事態に陥りました。解決策を記録しておきます。 環境 Mac OS Mojave バージョン 10.14.4 問題 open Graphics;;と書いたファイルをコンパイルしようとする…

【C++】コンストラクタのオーバーロード

プロコンの本を読んでいたら、1つのクラスの中にいきなり2つのコンストラクタの定義が出てきたので、なんぞこれと思って調べてみました。勉強した内容をまとめておきます。 コンストラクタのオーバーロード 一般的にオーバーロードとは同じものに対して複…

【C++】フレンド関数

フレンド関数の勉強メモです。基本的な使い方についてです。 フレンド関数 C++ではクラスの外部で定義した関数をクラスのprivateメンバにアクセスできるようにすることができます。 そのような関数をフレンド関数と呼びます。friend修飾子を使ってフレンド関…

APSchedulerの使い方(初心者向け)

APSchedulerの使い方のメモです。 APSchedulerはPythonのライブラリで、ジョブの自動実行のスケジュール管理を行なってくれるものです。この記事ではインストールから、基本的な使い方までを見てみます。 動機 日本語で使い方を体系的に説明した資料が少ない…