Java函数实现数组元素的排序
发布时间:2023-07-01 22:04:37
在Java中,提供了多种方法可以实现数组元素的排序。下面介绍几种常见的排序算法及其实现方式。
1. 冒泡排序(Bubble Sort):
冒泡排序是一种简单的排序算法,它重复地比较相邻两个元素,如果顺序错误就交换它们,直到没有需要交换的元素。
实现代码如下:
public static void bubbleSort(int[] arr){
int n = arr.length;
for (int i = 0; i < n - 1; i++){
for (int j = 0; j < n - i - 1; j++){
if (arr[j] > arr[j + 1]){
// 交换arr[j]和arr[j + 1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
2. 选择排序(Selection Sort):
选择排序每次从未排序的部分中选择最小(或最大)值,然后将其放到已排序的部分的末尾。
实现代码如下:
public static void selectionSort(int[] arr){
int n = arr.length;
for (int i = 0; i < n-1; i++){
int minIndex = i;
for (int j = i+1; j < n; j++){
if (arr[j] < arr[minIndex]){
minIndex = j;
}
}
// 交换arr[i]和arr[minIndex]
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
3. 插入排序(Insertion Sort):
插入排序将数组分为已排序和未排序两部分,每次从未排序的部分中取一个元素,插入到已排序部分的正确位置。
实现代码如下:
public static void insertionSort(int[] arr){
int n = arr.length;
for (int i = 1; i < n; i++){
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key){
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
以上是三种常见的排序算法及其实现方式,可以根据具体需求选择适合的算法来对数组元素进行排序。
