2005-05-01から1ヶ月間の記事一覧

はじめての C

「ソート法 4」 シェルソートは、挿入整列法の 1つの バリエーションです。 挿入整列法であることを示す 理由の 1つに、要素は その右側の 要素としか 互いに 交換できない、ということがあり、配列を 通して、一度に 1ヶ所に 動けるだけです。 それで、時間…

はじめての C

「ソート法 3」 void insertion_sort (int *list, int left, int right) { int step, i; /* int temp; /* /* * 左から 右へ 移動して、step と right の * 間の 値 - values - を ソートする */ for (step = left; step /* h番目の 要素、list[step] を 選択…

はじめての C

「ソート法 2」 挿入整列法は とても簡単で、新しい要素 - new item - を 挿入するため、はじめに 要素を 右側に 移動させることによって、それぞれの 新しい要素を その位置 - position - に ソートできるように スペースを つくるのです。 例えば、次のよ…

はじめての C

「ソート法」 ソートは 基本 - basic - ですし、また C と C++ の プログラムでは、一般的な 操作方法です。なので、この 両者についての 基礎 - basics - は もちろん、どのソート法を 用いるのかについても、よく 精通するように してください。 一般的な …

web archive

ネット上で アルゴリズム関連の page を 捜してみる。 * Program Development by Stepwise Refinement (1971) Niklaus Wirth (N. Wirth とは 「アルゴリズム+データ構造=プログラム」を 書いた ヴィルト先生の ことです)

useless tips

あいかわらず tutorial の 訳に 苦しんでます (自業自得だけど)。 insert sort って どう訳すのか わからなかったし、なにか 参考になる本は ないか、本屋に 寄ってみた。 プログラミングに活かすデータ構造とアルゴリズムの基礎知識 (UNIX MAGAZINE LIBRARY…

はじめての C

「対話型入力 5」 これまで 見てきたように、ユーザからの 対話型入力を 安全に 扱うのは、最初 思っていたより ずっと 複雑ですし、それを 正確に 取り込むことが、また 信じられないくらい 困難なのです。 入力処理についても、その適用の しかたが 違えば…

はじめての C

「対話型入力 4」 #define INVAL -1 int var; char buf[20]; if (fgets(buf, 20, stdin) != NULL) var = (int)strtol(buf, NULL, 10); else { fputs("Error, no input read\n", stderr); var = INVAL; } /* ここでは (var は) strtol の 返り値を * (int に …

はじめての C

「対話型入力 3」 ここで、わずかですが scanf の たぐいを 回避できる 選択肢が あります。 その中には かなり 複雑な ものもあり、使う前には、ユーザ入力が 正確であることを 十分 確かめないと いけません。 でないと、あなたにとって なにか よくないこ…

はじめての C

「対話型入力 2」 これは 動いてくれます。 ただし、ユーザが おかしな整数値を入力しなければ、ですが。 scanf の 呼び出し - call - を 改良する 1つの 手段として、返り値のチェックが あります。 scanf は 値によって 数値を 返します。 呼び出しが 成功…

はじめての C

「対話型入力」 対話式入力、つまり データを 直接 ユーザが 入力することで 知られている方法は、落ちかけてる橋を 歩いて 渡るようなものです。 というのも、ユーザというのは けっこう いきあたり ばったりなので、連中が しでかすであろう 考えられる限…

はじめての C

「構造体について 3」 構造体は、そのなかに 同じ型の構造体の ポインタを 含むことができ、自己参照構造体と 呼ばれています。 struct Node { void *data; struct Node *next; }; これが、連結リストに 含まれた 単体の項目 - simple item - に 使われて、…

はじめての C

「構造体について 2」 ポインタを 構造体に渡す、という参照方法は 多くの場面で 採り入れられています。 それは、大きすぎる 構造体の占めるスペースを 節約してくれますし、ときには、その実行速度を 上げることにもなります。 実際、多くの データ構造ラ…

はじめての C

しばらく C++ World の tutorial を 少しずつ 訳してみる。 「構造体について」 構造体は、互いに 関連している 異なった型の値を まとめて 扱うことのできる、都合のよい やり方 - convenient way - です。 struct Person { char *name; int age; float hei…

blog news

昨日の イラクでの 事件について、 新イラク取材日記 Peace On Iraq (忘れないうちに メモ)

はじめての C

ひさしぶりに 「アルゴリズムとプログラミング技法」(isbn:478190923X) を ひっぱりだして メモ。 この本は 言語が PASCAL なので、C に 書き直す必要がある。しかし、これが むずかしい プログラミング言語の [用語解説](p7-8) が、とても よく できている…

useless tips

データ構造が なかなか 理解できないので 発想を 変えてみる。 1. まず 元になる data file だけど、べつに 最初から 整理されてるわけではない 2. 入力するのは 多くの場合、人間なんだから まちがって 当然である。 3. 個々のデータの まとまりを 行単位 -…

miscellanies

google で Ronda Hauben を 検索すると、Netizens に 関連して、公文俊平の名が 度々 でてくる。 この人物には 3つの顔が あるように 思う。 かつて 現代思潮社が ローザ・ルクセンブルグや トロツキーの著作を だしていた頃、一冊の レーニンの本が、対馬忠…

useless tips

現在は 更新されてないが USENET に Internet FAQ Archives という page が ある。 http://www.faqs.org/faqs ここでは - 今では 使う人も 少ないだろうけど - mail という ユーティリティ(コマンド) で 実際に 交信が できます。ということは ftp や telnet…

miscellanies

Network Archives に Ronda Hauben の page を 追加。 ひさしぶりに web で 調べものを したので ちょっと 疲れた。 気分を 変えようと 『インターネット宣言』(isbn:406207480X) を 読んでみると、少し ひっかかる ところが ある。 実は (アメリカの ベル研…