十种JAVA排序算法实例攻略
一、排序算法简介
排序算法是指将一组无序的数据按照一定的顺序重新排列的过程。在计算机领域中,排序算法是最基本的算法之一,大大提高了计算机数据处理的效率。
排序算法的分类可以分为内部排序和外部排序。内部排序是指数据量较小,能全部加载进内存中进行排序的方法,比如插入排序、冒泡排序等。而外部排序是指数据量较大,需要借助外部存储设备进行排序,比如归并排序、快速排序等。
二、十种排序算法
在本文中,将展示十种JAVA排序算法的实现和示例,具体包括:
- 冒泡排序(Bubble Sort)
- 选择排序(Selection Sort)
- 插入排序(Insertion Sort)
- 希尔排序(Shell Sort)
- 归并排序(Merge Sort)
- 快速排序(Quick Sort)
- 堆排序(Heap Sort)
- 计数排序(Counting Sort)
- 桶排序(Bucket Sort)
- 基数排序(Radix Sort)
下面我们将一一介绍这些排序算法的实现和示例。
1. 冒泡排序
冒泡排序是一种简单直观的排序算法,它重复走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就将它们交换过来。
示例代码:
public class BubbleSort {
public static void bubbleSort(int[] arr) {
int len = arr.length;
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = {5, 6, 1, 3, 9, 7, 2, 8, 4};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
}
2. 选择排序
选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素放在序列的起始位置,直到排完整个序列。
示例代码:
public class SelectionSort {
public static void selectionSort(int[] arr) {
int len = arr.length;
for (int i = 0; i < len - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < len; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
public static void main(String[] args) {
int[] arr = {5, 6, 1, 3, 9, 7, 2, 8, 4};
selectionSort(arr);
System.out.println(Arrays.toString(arr));
}
}
以上是前两种排序算法的示例,你可以仿照这种方式,完成其他算法的实现。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:十种JAVA排序算法实例 - Python技术站