ホームページ  >  記事  >  Java  >  Javaの基本的なソート例のチュートリアル

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

PHP中文网
PHP中文网オリジナル
2017-06-20 16:12:27983ブラウズ

私がコンパイルしたいくつかの 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 までご連絡ください。