卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

常用的Java數(shù)組排序方法

Java中提供了多種排序算法來對(duì)數(shù)組進(jìn)行排序。本文將介紹其中幾種常用的排序方法,包括冒泡排序、直接選擇排序和反轉(zhuǎn)排序。冒泡排序冒泡排序是最常見的數(shù)組排序算法之一。它通過比較相鄰元素的大小,將較大的元素

Java中提供了多種排序算法來對(duì)數(shù)組進(jìn)行排序。本文將介紹其中幾種常用的排序方法,包括冒泡排序、直接選擇排序和反轉(zhuǎn)排序。

冒泡排序

冒泡排序是最常見的數(shù)組排序算法之一。它通過比較相鄰元素的大小,將較大的元素逐步向后移動(dòng),從而達(dá)到排序的目的。具體實(shí)現(xiàn)如下:

```java

public 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]) {

int temp arr[j];

arr[j] arr[j 1];

arr[j 1] temp;

}

}

}

}

```

上述代碼是一種簡便寫法,但其占用的內(nèi)存較大。如果對(duì)內(nèi)存有限制,可以采用以下內(nèi)存較小的寫法:

```java

public void bubbleSort(int[] arr) {

int n arr.length;

boolean swapped;

for (int i 0; i < n - 1; i ) {

swapped false;

for (int j 0; j < n - i - 1; j ) {

if (arr[j] > arr[j 1]) {

int temp arr[j];

arr[j] arr[j 1];

arr[j 1] temp;

swapped true;

}

}

if (!swapped) {

break;

}

}

}

```

直接選擇排序

直接選擇排序是另一種常用的數(shù)組排序算法。它通過每次選擇未排序部分的最小元素,然后與未排序部分的第一個(gè)元素交換位置,從而逐步完成排序。具體實(shí)現(xiàn)如下:

```java

public 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;

}

}

int temp arr[minIndex];

arr[minIndex] arr[i];

arr[i] temp;

}

}

```

反轉(zhuǎn)排序

反轉(zhuǎn)排序是一種特殊的排序方式,它將數(shù)組中的元素按照原來的順序反轉(zhuǎn)過來。在Java中,可以使用Collections類的reverse()方法來實(shí)現(xiàn)數(shù)組的反轉(zhuǎn)排序,具體代碼如下:

```java

import ;

import ;

public void reverseSort(int[] arr) {

Integer[] array (arr).boxed().toArray(Integer[]::new);

((array));

for (int i 0; i < arr.length; i ) {

arr[i] array[i];

}

}

```

以上介紹了幾種常用的Java數(shù)組排序方法,包括冒泡排序、直接選擇排序和反轉(zhuǎn)排序。根據(jù)實(shí)際需求和數(shù)組規(guī)模的不同,選擇合適的排序算法能夠提高程序的效率和性能。

標(biāo)簽: