バケットソートについて質問です。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
しょしょ

バケットソートについて質問です。

#1

投稿記事 by しょしょ » 8年前

あらかじめ、ハッシュ表に格納された整数(構造体のメンバ)を、その整数を添え字とした配列に格納することによってソートを行いたいです。また、その配列はそれぞれが連結リストになっています。
自分で考えてみたのですが、どうもうまくいきません。
SIZE:ハッシュ表の長さ

コード:

struct W {
  struct W *next;
  char *str;
  int count;
};typedef struct W w;

w *s_w[20];

 for(j=0;j<SIZE;j++){
    for(q=w[j];q!=NULL;q=q->next){
      s_w[q->count]=q;
      s_w[q->count]->next = (w*)malloc(sizeof(w));
      s_w[q->count]=s_w[q->count]->next;
    }
  }

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: バケットソートについて質問です。

#2

投稿記事 by みけCAT » 8年前

まだよく理解できていないですが、
とりあえずwは型名なのでq=w[j]というのはおかしいでしよう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

しょしょ

Re: バケットソートについてしょしょ質問です。

#3

投稿記事 by しょしょ » 8年前

すいません、qも構造体です。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: バケットソートについてしょしょ質問です。

#4

投稿記事 by みけCAT » 8年前

しょしょ さんが書きました:すいません、qも構造体です。
C言語でqに対してアロー演算子(->)が使用されているので、それはおかしいでしょう。
qはポインタではないですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: バケットソートについて質問です。

#5

投稿記事 by みけCAT » 8年前

しょしょ さんが書きました:あらかじめ、ハッシュ表に格納された整数(構造体のメンバ)を、その整数を添え字とした配列に格納することによってソートを行いたいです。また、その配列はそれぞれが連結リストになっています。
書かれているコードの理解は難しそうだと思ったので、自分で最初から実装してみました。
► スポイラーを表示
しょしょ さんが書きました:自分で考えてみたのですが、どうもうまくいきません。
具体的に何がどううまくいかないのですか?
うまくいく方法を教えてほしいのであれば、得たい実行結果と現状観測される実行結果を教えてください。
コンパイルエラーやリンクエラーが出て、その解決法を教えて欲しいのであれば、エラーメッセージをそのまま(ユーザー名などの個人情報は隠して)提示してください。
コンパイルしているソースコード全体ももし提示できるのであれば、提示していただけるとわかりやすくなると思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る