ホームページ Java &#&チュートリアル 初心者は JAVA バブル ソートを学ぶ方法を学びます

初心者は JAVA バブル ソートを学ぶ方法を学びます

May 07, 2021 am 09:13 AM
java バブルソート

この記事では、初心者が JAVA バブル ソートを学ぶ方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

初心者は JAVA バブル ソートを学ぶ方法を学びます

バブル ソートは、コンピューター サイエンスの分野における比較的単純な並べ替えアルゴリズムです。
並べ替える必要がある要素を繰り返し訪問し、隣接する 2 つの要素を順番に比較し、要素の順序 (大きいものから小さいもの、最初の文字が A から Z など) が異なる場合は要素の位置を交換します。間違っている。
交換する必要がある隣接する要素がなくなるまで要素の訪問が繰り返され、並べ替えが完了します。
このアルゴリズムの名前は、炭酸飲料の二酸化炭素の泡が最終的には浮遊するのと同じように、より大きな要素が交換 (昇順または降順で配置) によってシーケンスの先頭にゆっくりと「浮遊」するという事実に由来しています。一番上にあるため、「バブルソート」という名前が付けられています。
理論だけ見ると少し混乱するかもしれませんが、問題はありません。次に、バブル ソートの比較と並べ替え方法を詳しく学びましょう~

並べ替えのアイデア

隣接する比較、小さいものから大きいものへ並べ替え、小さい場合は前に進みます
I はループ データを最初から最後まで走査することを表します

初心者は JAVA バブル ソートを学ぶ方法を学びますバブルの実装sorting

クラスの作成: BubbleSort.java

package cn.tedu.array;import java.util.Arrays;/**本类用来完成初心者は JAVA バブル ソートを学ぶ方法を学びます*/public class TestBubbleSort {
	public static void main(String[] args) {
		//1.创建一个无序的数组
		int[] a = {27,96,73,25,21};
		//2.调用method()完成排序
		int[] newA = method(a);
		System.out.println("排序完毕:"+Arrays.toString(newA));
	}
	public static int[] method(int[] a) {
		//1.外层循环,控制比较的轮数,假设有n个数,最多比较n-1次
		//开始值:1 结束值:<= a.length-1 变化:++
		//控制的是循环执行的次数,比如5个数,最多比较4轮,<= a.length-1,最多取到4,也就是[1,4]4次
		for(int i = 1 ; i <= a.length-1 ; i++) {
			System.out.println("第"+i+"轮:");
			//2.内层循环:相邻比较+互换位置
			for(int j=0; j < a.length-i ; j++) {
				//相邻比较,a[j]代表的就是前一个元素,a[j+1]代表的就是后一个元素
				if(a[j] > a[j+1]) {
					//交换数据
					int t = a[j];
					a[j] = a[j+1];
					a[j+1] = t;
					//System.out.println("第"+(j+1)+"次比较交换后:"+Arrays.toString(a));
				}
			}
			System.out.println("第"+i+"轮的结果:"+Arrays.toString(a));
		}
		return a;//把排序好的数组a返回
	}}
ログイン後にコピー

実際、既存の並べ替えを最適化することもできます:
最適化 1: 前回の並べ替えラウンドで生成された最大値後処理に関与する必要はありません 数ラウンドの比較の後、いくつかの値が生成されるため、比較に参加する必要はありません i ラウンドでは i 値が生成されるため、必要です - i

最適化 2: 使用する数量を設定する必要があります。現在の相互比較で要素の交換があったかどうかを確認します。交換が発生した場合は、注文が手配されていないことを意味します。フラグが true に変更され、次のラウンドの比較が実行されますが、現在のラウンドですべての要素が相互に比較され、位置が交換されていない場合は、順序がソートされたことを意味します。次の比較ラウンドは必要ありません。end メソッドを直接返すだけです
初心者は JAVA バブル ソートを学ぶ方法を学びます

関連する無料学習の推奨事項: Java 基本チュートリアル

以上が初心者は JAVA バブル ソートを学ぶ方法を学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの平方根 Javaの平方根 Aug 30, 2024 pm 04:26 PM

Javaの平方根

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Javaの完全数

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーター

Javaのアームストロング数 Javaのアームストロング数 Aug 30, 2024 pm 04:26 PM

Javaのアームストロング数

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

ジャワのウェカ

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Javaのスミス番号

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

Java Springのインタビューの質問

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8 Stream Foreachから休憩または戻ってきますか?

See all articles