配列があり、i 番目と i+1 番目の要素のみを交換できます。最小数の交換操作を使用して、この配列を循環配列にソートするにはどうすればよいですか?
たとえば、私の配列は次のとおりです。
3 5 4 2 1
次に、2番目と3番目を交換します
3 4 5 2 1
そして、4番目と5番目を交換すると、
3 4 5 1 2
これは、2 つの交換で必要な並べ替えられた円形配列です。
もう一つの例
4 3 5 1 2
ここでは、1st と 2nd を 1 回交換するだけで3 4 5 1 2
これを達成するには、どのアルゴリズムを使用する必要がありますか?