• 締切済み

C言語 クイックソートの使い方&検索関数について

現在私は、ファイルから読み込んで、リストナンバー・名前・年令の三つの要素で管理する簡単なデータベースのプログラムを作っています。 その中で、検索機能をつけようとしています。 しかし、検索条件を選ぶことが出来るようにしたいのですが、書き方が今イチ分かりません。関数の書き方をどなたか教えて下さい。 それと、並び替え機能も付けようをしているのですが、その並び替える項目を指定できるようにしようと思うのですが、上手くいきません。私としてはクイックソートを使いたいのですが、使い方がよく分かりません、分かり易い使い方の説明をして頂けるとありがたいです。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>検索条件を選ぶことが出来るようにしたいのですが、書き方が今イチ分かりません。関数の書き方をどなたか教えて下さい。 検索条件とそれに応じた関数を書くことになります。 例えば リストナンバーを指定して検索するような関数は data findByListNo(no); みたいになるでしょうし リストナンバーの範囲を指定する場合は、 void findByListNoRange(from, to, result[]); みたいになるでしょうし、 付加したい検索機能によって関数の書き方は様々です。 qsort(配列の先頭アドレス, 配列のサイズ, レコードのサイズ, 比較関数); の様に使います。 比較関数は int compare(const void *x, const void *y){ RECORD *a=(RECORD*)x; RECORD *b=(RECORD*)y; … return x ;/* a>b の時正、a<bの時負、a=bの時0 */ } の様に渡された2つのレコードの大小関係をint で返す様に作ります。

関連するQ&A