Problem

1 /7


バブルソート

Theory Click to read/hide

二次ソート

並べ替え - 配列 (リスト) の要素を特定の順序で並べ替えます。

バブル方式(バブルソート)、または単純交換によるソート)。
このジャンルの不朽の名作。アクションの原則は単純です。並べ替えられていない隣接する要素を同時に交換しながら、配列を最初から最後まで一周します。最後の場所への最初のパスの結果、「ポップアップ」最大要素。ここで、配列のソートされていない部分 (最初の要素から最後から 2 番目の要素まで) を再度バイパスし、途中でソートされていない隣接要素を変更します。 2 番目に大きい要素は、最後から 2 番目の場所になります。同じ精神で続けて、減少し続ける配列のソートされていない部分をバイパスし、見つかった最大値を最後までプッシュします。
 
出典

このアルゴリズムのアルゴリズム実装
<プレ> J=1 から N-1 までのループ ステップ 1 F=0 I=1 から N-J-1 までのループ ステップ 1 IF A[I] > A[I+1] その後 EXCHANGE A[I],A[I+1] F=1 次へ IF F=0 THEN EXIT THE LOOP // パス中に交換がなかった場合、   // つまり、すべての要素   // 順番に並べる ネクストJ このアルゴリズムの複雑さ: \(\displaystyle O(n^{2})\).


その他の有用な情報: ウィキペディアの記事.

 

Problem

「バブル」メソッドを使用して、配列を降順以外で並べ替える必要があります。
 
入力
最初の行には、1000 を超えない 1 つの自然数 N が含まれています。配列サイズ。 2 行目には N 個の数字が含まれています –配列要素 (モジュロで 1000 を超えない整数)。
 
出力
結果の配列を出力します。
 
<頭> <本体>
# 入力 出力
1
5
5 4 3 2 1
1 2 3 4 5