この記事では、バブル ソートによってどのようなループが制御されるかを主に紹介し、バブル ソート アルゴリズムは 2 層の for ループまたは 1 つの for ループで実装できます。以下にバブルソートの実装方法を具体的なコード例とともに紹介していきます!
1. バブルソーティング法とは何ですか?
隣接する要素を比較します。最初の要素が 2 番目の要素よりも大きい場合は、位置を交換し、引き続き下を見てください。
2 つ、2 つのステップバブルソート方法:
次の配列をソートします: (22,3,6,54,86,21,35,1,65,4)
#1。通常のバブルソート方法:
実装手順: 1: ループのネストを 2 層にする; 2. 条件が満たされるかどうかを判断し、位置を交換します。 2 つの数値のうち;public class BubbleSort { public static void main(String[] args) { int a[]={22,3,6,54,86,21,35,1,65,4}; for(int i= 0 ;i<a.length;i++){ //第一层循环 for(int j=0;j<a.length-i-1;j++){ //第二层循环 if(a[j]>a[j+1]){ //交换位置 int tem =a[j]; a[j]=a[j+1]; a[j+1]=tem; } } } System.out.println("排好序:"); for(int aa:a){ System.out.print(aa+" "); } } }
a.) ソートする配列と関連する配列の長さを定義します (
int a[]={22,3,6,54,86,21,35,1,65,4}; int team=a.length-1;
b)。ソートの実装:
1. 単一の for ループ;
2. 位置を交換する必要があるかどうかを決定します;
for(int i= 0 ;i<team;i++){ if(a[i]>a[i+1]){ int tem =a[i]; a[i]=a[i+1]; a[i+1]=tem; } }
3. for ループが終了するかどうかを決定します;
4. for ループが終了すると、i に -1 が代入され、チームの長さが 1 減り、次のループが続行されます;
if(i==team-1){ i=-1; team--; }
c.) プログラムの完成:
//单个for循环的冒泡排序法 public class BubbleSort { public static void main(String[] args) { int a[]={22,3,6,54,86,21,35,1,65,4}; int team=a.length-1; for(int i= 0 ;i<team;i++){ if(a[i]>a[i+1]){ int tem =a[i]; a[i]=a[i+1]; a[i+1]=tem; } if(i==team-1){ i=-1; team--; } } System.out.println("排好序:"); for(int aa:a){ System.out.print(aa+" "); } } }
結果表示:
##単一の for ループでバブル ソートを実装
この記事は PHP 中国語 Web サイトからのものです。 . さらに関連する知識ポイントについては、PHP 中国語 Web サイトのビデオ コース チャンネルにアクセスしてください。
以上がバブルソートアルゴリズムを制御するループは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。