2012-02-18 41 views
2

名前、電話番号など、個人の連絡先情報を含むC構造を持っています。連絡先構造はリンクリストに含まれています。リンクされたリストがアルファベット順(昇順)にソートされるような方法でノードを挿入する必要があります。Cでアルファベット順に名前をソート

Cで呼び出し可能な組み込みソート関数はありますか?あるいは私自身のソート機能を書かなければならないのですか?組み込み関数がある場合、リンクリスト内の構造体上でどのように呼び出すかの例を得ることができますか?

+0

C++コンパイラを使用している場合、 'std :: list :: sort()'の実装を見てください。これはおそらく書かなければならないものに非常に近いでしょう。それは完全にヘッダファイルに含まれます。 –

+1

あなたの宿題は、リンクされたリストをソート順で作成すること、またはリスト作成後に一般的にソートすることに基づいていますか?リンクリストを作成しているだけの場合は、「挿入ソートリンクドリスト」を参照する必要があります。ここでは、リスト挿入の関数としてソートを処理します。 – jmq

+0

@jmquigleyコードをもっと見ると、アルファベット順に名前が付けられる場所に基づいて、リンクされたリストに新しい項目を挿入する必要があるようです。だから私はそのようなリンクリストを構築していきます。ノードを使ってアルファベット順に基づいて新しいアイテムを挿入するものをどこで見ることができるか、あなたが知っている例はありますか? – aclark

答えて

3

"リスト"には標準的なソート方法はありません。一番近いのはqsort(実際にはユーザー定義のオブジェクトを並べ替えることができます)ですが、連続した範囲(配列など)でのみ動作します。

おそらく、独自のソート手順を実装するか、リストの代わりに使用して配列を使用する必要があります。

+0

さて、ありがとう、それは私がすることです。 – aclark

0

挿入ソートリンクリストを実行するコードの例を次に示します。これはカットされていない、あなたのためにペーストしますが、挿入のそのタイプに期待するものをあなたが表示されます:「挿入()」の呼び出しに

http://www.c.happycodings.com/Sorting_Searching/code8.html

フォーカス。私はそれをテストするために、このコードをコンパイルしていないが、私はそれを読んで、それは私に正しいように見える。リストとポインタ調整の検索方法を示します。このコードから問題を解決できるはずです。

関連する問題