C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: next_permutationのアルゴリズム


(過去ログ 56 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■32119 / inTopicNo.1)  next_permutationのアルゴリズム
  
□投稿者/ bluebard (1回)-(2009/02/01(Sun) 23:30:13)

分類:[C/C++] 

http://blogs.wankuma.com/izmktr/archive/2008/07/25/150189.aspx

上記のURL先の手順通りやっても、next_permutation の結果と同じにならないのは、なぜですか?
(A)の部分から同じ結果になりません?

以下next_permutation の結果の最初の方を抜粋したものです。
12345
12354
12435
12453←(*)
12534←(A)
12543
13245
13254

以下私がやってみた結果
12345
12354
12435
12453←(*)ここまでは同じ結果
13245←(A)
13254
13425
13452

(*)の12453の453が一時領域に入り、2と3を入れ替えて一時領域を昇順に並べ替えて戻すと
13245になると思うのですが?
引用返信 編集キー/
■32122 / inTopicNo.2)  Re[1]: next_permutationのアルゴリズム
□投稿者/ アキラ (158回)-(2009/02/02(Mon) 00:43:27)
アキラ さんの Web サイト
No32119 (bluebard さん) に返信

ブログの情報が正確か、という確認ならばまず本人のブログで確認してみてはいかがでしょう
引用返信 編集キー/
■32125 / inTopicNo.3)  Re[1]: next_permutationのアルゴリズム
□投稿者/ .SHO (626回)-(2009/02/02(Mon) 10:04:25)
No32119 (bluebard さん) に返信

> (*)の12453の453が一時領域に入り、2と3を入れ替えて一時領域を昇順に並べ替えて戻すと
> 13245になると思うのですが?

12453の53が一時領域に入り、4と5を入れ替えて一時領域を昇順に並べ替えて戻すと
12534で問題ないと思います。

引用返信 編集キー/
■32129 / inTopicNo.4)  Re[2]: next_permutationのアルゴリズム
□投稿者/ bluebard (2回)-(2009/02/02(Mon) 10:42:51)
No32125 (.SHO さん) に返信

> 12453の53が一時領域に入り、4と5を入れ替えて一時領域を昇順に並べ替えて戻すと
> 12534で問題ないと思います。

一時領域の最小値を選んでいたのが原因でした。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -