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