深夜だ。
もっと頑張った方が絶対良いと思う。
明日は頑張ろう。
何を。
まずはそれを考えるところからかな。
定量的な目標を設定して達成度を評価するとか、
そうせざるを得ない状況になった。
深夜だ。
もっと頑張った方が絶対良いと思う。
明日は頑張ろう。
何を。
まずはそれを考えるところからかな。
定量的な目標を設定して達成度を評価するとか、
そうせざるを得ない状況になった。
幼児が数分で解けるのに大人が解けない算数(?)の問題をPHPで解きました。
元ネタ : https://matome.naver.jp/odai/2133393856936222101
正解は数字に開いている穴の数の合計が方程式のルール(0や4は1、2や3は0、8だけは2)ってやつ。
PHPのコードはこちら。
実行結果
ここで実行できます。
文字列置換(PHP)
str_replace関数で置換できる。
str_replace(置換対象文字列、置換後文字列、元の文字列、置換した回数);
str_ireplace関数はアルファベットの大文字小文字を区別しない。
置換対象文字列と置換後文字列は配列で指定できる。
何か生産的なことをしたい。
恋愛とか。プログラミングの仕事とか。
生産的なことをする必要がある。
とりあえずきょうはもう寝ることにする。
明日こそ、生産的なことをしよう。
家でダラダラしていたら22:30になってしまった。
何かしら生産的なことをしなければならない。
シェアハウスで自宅にひとりきりな日は貴重なため家で過ごすのが得策と思ってずっと家にいてしまった。
いまから隣の駅のファミレスに足を運んで何か作業をしようと思う。
そして生産的なことをするために何をどうするべきかよく考えて答えを出す。
クイックソートとバブルソートの性能(ソートの速さ)を比較しました。
ソート対象の配列のサイズが大きくなるほどバブルソートは遅くなりますね。
それにしてもC言語は文字列の連結とか配列の要素数をさくっと取得とかできなくて不便ですね。
今度他の言語とも同じ条件で性能を比較してみようかな。
クイックソート(C言語)
クイックソートquicksortのアルゴリズムは難しいから暗記している。
ユズノハは3年半C言語で働いていたが、会社を辞めてからはJavaやらPHPばかり書いており、
そういえばC言語でクイックソートを書いたことがなかったなと思い書いてみた。
見ての通りquicksort_core()は再帰呼出し。
C言語は関数のオーバーロード(多重定義)ができないため、quicksort()とquicksort_core()の2つが必要になる。
更に配列のサイズも配列変数から取得できないため引数で渡す必要がある。
メイン関数が一番下なのはサブ関数のプロトタイプ宣言を省略するため。
やはりC言語は不便な言語だ。
ハードウェアに近いところをいじる時以外はC言語は遠慮したい。
PHPの変な仕様を発見しました。
上記コードの出力結果print_r($arr1);は下記になります。
なぜか$arr1のindex:1だけ10加算されています!
これは、
$dummy = &$arr1[1];
で$dummyという変数に参照を代入した結果、
$arr1[1]と$dummyは同一の領域を指すことになる。
そのため$arr1を代入した$arr2の全要素に10加算した時に、
$dummyの値に10加算されるため、$arr1[1]の値だけ$dummy1と同じ1+10=11になるのだそうです。
これは危険な仕様ですね。
僕はC,Javaの後にPHPの学習を始めたため、
なかなか慣れないです。
ユズノハのプログラミング学習サイト
当ブログ には管理人 ユズノハ が学んだプログラミングに関する事柄を投稿します。
Twitterかブログに気軽にコメントをいただけたら嬉しいです。