K.Maebashi's BBS 管理者削除

以下の投稿を削除します。

[1597] Re:自己参照構造体のソートの方法がわかりません
返信
投稿者:(ぱ)こと管理人
2010/07/01 01:53:45

>線形リストをつくったのですが、リストに値をセットした後連結リストをソートしたい >のですが、わかりません。どなたか教えてください。 だったらマージソート…と思ったのですが774RRさんに先に書かれてしまったので、 本題からずれますが、 > DATA *top = malloc(sizeof(DATA)); 最初にいきなりダミーのノードを作っていて、そのために以後、 ループをまわすとき、p->nextを終了判定に使うことになっています。 add()関数が微妙に楽になる以外、ここにダミーノードを置くことは あまりメリットがないんじゃないかなあ、と私は昔から思っているのですが (センス・オブ・プログラミングに書いたりもしましたが)どうなんでしょうねえ。 あとまあ、ものすごく細かいことですが、 >int SUM(DATA *data) >{ > return data->language+data->language; >} ここはdata->math + data->languageですよね。 また、連結リストのソートは、効率を気にしないのなら単純選択ソートとかでも できるんじゃないでしょうか。 ・連結リストを頭からスキャンして、最大値のノードを探す。 ・最大値のノードをリストから引っぺがし、ソート済みリストの先頭につなぐ。 ・上記操作を繰り返す。

代替メッセージ

物理削除     パスワード: