read-eval-print loop

プログラミング関連のメモ

2018-02-01から1ヶ月間の記事一覧

メンバー関数にもとづいてソートする

「オブジェクトの状態に依存したソートを行いたい」ということがあると思います。 #include <vector> using namespace std; class A { public: A(int k); vector<int> sorted(); private: vector<int> vec; int param; }; A::A(int k) { param = k; } vector<int> A::sorted() { // </int></int></int></vector>…

forループで符号なし整数を使って0までカウントダウンする

for文で符号なし整数を0までカウントダウンする場合、当然ですが>= 0という条件は使えません。 // 条件が常に真になるため無限ループ for (unsigned int i = n-1; i >= 0; i--) 可能ならば符号付き整数にキャストしてしまう、i == 0の場合をforの外に出す、…

リンクをスクリプトファイルに張ったときスクリプトファイルのパスを取得する

シンボリックリンクを介してスクリプトを実行すると、スクリプト内の__file__にはシンボリックリンクの情報が格納されます。 import os.path print(__file__) # -> リンクのパス print(os.path.dirname(__file__)) # -> リンクの親ディレクトリ os.path.real…

二分木を配列で持つときのインデックスづけについて

二分木は一次元の配列として表現できます。例えば、インデックス0をルートとして、xの左の子は2*x+1,右の子は 2*x+2といった具合です。 ところで、このインデックスづけは1.「どの子のインデックスも他の子やルートと被らない」という必須の性質と、2.「配列…