2009-07-06から1日間の記事一覧

自己組織化探索

http://www.geocities.jp/ky_webid/algorithm/013.html検索結果位置を保存しておくということですか、やってみます。リスト構造は循環リスト再実装 - (void*)Pないとで作った物を利用します。 #include <stdio.h> #include <stdlib.h> struct LIST { int data; struct LIST *nex</stdlib.h></stdio.h>…

配列のシャッフル

C

前回の記事で配列のユニークをやったので思いつきで今回は配列のシャッフルをやってみたいと思います。 #include <time.h> #include "mylib.h" void shuffle (int *num, int array_size) { int i,j; srand( (unsigned)time(NULL) ); for(i=0;i</time.h>

配列のユニーク処理

C

エロと風俗情報満載 どう抜く?面白そうな題材を見つけました。配列の要素に同じ要素が含まれていたら除去するという処理です。 #include "mylib.h" int unique (int *num, int array_size) { int i,j,k; int uniq; for(j=i=0;i

文字列ポインタ配列のソート

文字列のポインタ配列をソートするにはどうしたらいいんだろうと思って実装してみた。 #include <stdio.h> #include <string.h> #include "mylib.h" void shell_sort (char **data, int array_size) { int h; int i,j; if ( array_size <= 1 ) { return; } for(h=1; h<array_size; h=h*3+1); for(h/=3;h>0;h/=3){ f</array_size;></string.h></stdio.h>…

循環リスト再実装

循環リスト - (void*)Pないともう少しシンプルに実装し直してみます。前の時はlast変数を用意してリストへの追加が最後尾になるように実装したのですが、あまり必要なさそうなので今回は無しでやります。 #include <stdio.h> #include <stdlib.h> struct LIST { int data; struc</stdlib.h></stdio.h>…

双方向リスト

http://www.geocities.jp/ky_webid/algorithm/012.html逆方向にも参照できる双方向リストですね。循環リストの拡張でやってみます。 #include <stdio.h> #include <stdlib.h> struct LIST { int data; int last; struct LIST *next; struct LIST *prev; }; typedef struct LIST </stdlib.h></stdio.h>…