listのソートについて – プログラミング – Home

通知
すべてクリア

[解決済] listのソートについて


SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
Topic starter  

listのソートでlist::sort()を使っているのですが、
ソート前とソート後でlistのサイズが変わってしまいます(減っている)
これはメモリ不足からくる物なのでしょうか?
例えばこんな感じです。

#include <list>
#include <iostream>

using namespace std;

int main()
{
list<int> lst;

for(int i=0; i<200000; ++i) lst.push_back(i);

cout << lst.size() << endl;
lst.sort();
cout << lst.size() << endl;

return 0;
}

プログラムの出力:
200000
3392

環境はVC++6.0(SP5) + WinXP(SP1)です。


引用未解決
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

dinkumwareのサイトにあるbug fixは行いましたか?
http://www.dinkumware.com/vc_fixes.html

200000 % 32768 == 3392ですから,これで解決するかもしれません。


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
Topic starter  

ありがとうございます。
直りました。
・・・けど、こういうのって最新のSPあてればOKかとずっと思っていました。
ひょっとしてこんなの常識だったのかな?

今まで知らずにlist::sortしてたと思うと怖いです。
こんな大切な事、せめて日本語でMSサイトにのせてくれていいと思うのですけど。
みなさん、ご存知なのでしょうか・・・?


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
Topic starter  

チェック忘れました、すみません。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました