0

C でバケット ソート アルゴリズムを使用して何かを実装しようとしています。アルゴリズムを機能させるには、配列内のすべての項目を手動でゼロに初期化する必要がありますが、calloc代わりに使用する場合はすべて取得しますとにかくゼロに初期化された値。

私が確かに知っている唯一の違いは、使用するcallocことですべてをヒープメモリに入れているということです-それは大きな違いですか?

問題は、どちらの方法の長所と短所は何ですか? (パフォーマンス等)

4

1 に答える 1

1

配列を割り当ててゼロ フィルする必要がある場合は、calloc が最も簡単な方法です。ゼロの初期化によって、スタックまたはヒープ割り当ての選択が駆動されないようにしてください。その選択を独立して行います。

割り当てと初期化のパフォーマンスにこだわらないでください。あなたはソートしています。ソートが支配的になります。割り当てとゼロ初期化を確実に測定することはできません。パフォーマンスと同様に、本当に知りたい場合は測定してください。

于 2013-04-14T23:43:28.527 に答える