ホームページ Java &#&チュートリアル Javaの基本的なソート例のチュートリアル

Javaの基本的なソート例のチュートリアル

Jun 20, 2017 pm 04:12 PM
java 基本 選別

私がコンパイルしたいくつかの Java ソート コードを記録します

public class Index {

public static void main(String[] args) {

int[] a = { 1, 4, 5, 6, 8, 2 , 3, 9, 6, };
// selectSort(a);
// bubbleSort(a);
// insertSort(a);
// QuickSort(a, 0, a.length - 1);
/ /quickSort(a, 0, a.length - 1);
shellSort(a);
for (int b : a) {
System.out.println(b);
}

}

// ソートを選択、後ろのリストから最大のものを選択し、それを前に置きます
public static void selectSort(int[] arr) {

for (int i = 0; i

for (int j = i + 1; j

if (arr[i] < arr[j]) {
int tem = arr[j];
arr[j] = arr [i];
arr[i] = tem;
}

}
}

}

// バブルソートは、サブループ内でバブリングのようにペアを比較および交換し、大きな数値をback
public static void bubbleSort(int[] arr) {

for (int i = 0; i < arr.length - 1; i++) {

for (int j = 0; j < arr.length - 1 - i; j++) {

if (arr[j] > arr[j + 1]) {
int tem = arr[j + 1];
arr[j + 1] = arr[j];
arr [j] = tem;
}
}

}

}

// サブループで、前の要素が順番に並んでいることを前提として並べ替えを挿入し、ターゲット要素を使用して前の要素と比較します。大きいものに出会ったら前に進みます 移動し、小さいものに出会ったら位置を挿入します
public static void insertSort(int[] arr) {

for (int i = 1; i

int j = i;
int temp = arr[i];
while (j > 0) {
if (temp

arr[j] = arr[j - 1] ];

arr[j - 1] = temp;
}
j--;

}

}

}

// クイックソート、半分にするというアイデアに似ており、左側をある値の辺がそれより小さく、右辺がそれより大きい場合、両側で再帰
public static void QuickSort(int[] arr, int low, int high) {
int start = low;
int end = high;
int key = arr[start];

while (end > start) {

while (end > start && arr[end] >= key) {
end--;
}
if (arr[end] <= key) {
int tem = arr[end];
arr[end] = arr[start];
arr[start] = tem;
}
while (start < end && arr[start] <= key) {
start++;
}
if (arr[start] >= key) {
int tem = arr[start];
arr[start] = arr[end];
arr[end] = tem;
}

}

if (start > low) {
QuickSort(arr, low, start - 1);

}
if (end < high) {
QuickSort(arr) , end + 1, high);
}

}

// シェルソート、選択ソートに似ていますが、増分により、最初に粗く、次に細かくするというアイデア(最初に大まかにソートし、次に慎重にソートします) )
public static voidshellSort(int[] arr) {
int d = arr.length / 2;

while (d >= 1) {
for (int i = 0; i for (int j = i; j if (arr[j] > arr[j + d]) {
int tem = arr[j] ];
arr[j] = arr[j + d];
arr[j + d] = tem;
}
}
}
d = d / 2;

}
}

}

以上が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