在編程過(guò)程中對(duì)數(shù)組的運(yùn)用也是很關(guān)鍵的,我們往往需要利用到數(shù)組,,其中有一點(diǎn)就是當(dāng)涉及到數(shù)組的排序問(wèn)題,,我們應(yīng)該如何解決?
今天我來(lái)介紹兩種常用的排序方法
一,,冒泡排序序法
- 冒泡排序的原理:
1.比較相鄰的元素,。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè),。 2.對(duì)每一對(duì)相鄰元素做同樣的工作,,從開(kāi)始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),,最后的元素應(yīng)該會(huì)是最大的數(shù),。 3.針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè) 4.持續(xù)每次對(duì)越來(lái)越少的元素重復(fù)上面的步驟,,直到?jīng)]有任何一對(duì)數(shù)字需要比較
- 代碼實(shí)現(xiàn):
import java.util.Arrays;
public class BubbleSort {
public static void main(String[] args) {
int[] array = {13,24,54,34,12,35,78,5,4,328,13,17};//定義一個(gè)隨機(jī)數(shù)組
bubbleSort(array); //調(diào)用冒泡排序?qū)?shù)組array進(jìn)行排序
System.out.println(Arrays.toString(array));//將數(shù)組以字符串形式輸出
}
public static void bubbleSort(int[] array){
//[0 , bound) 構(gòu)成了已排序區(qū)間
//[bound , length] 構(gòu)成了待排序區(qū)間
for(int bound = 0; bound < array.length; bound++){
//每循環(huán)一次,,就找到一個(gè)合適大小的元素,已排序區(qū)間就增大一
for(int cur = array.length-1; cur > bound; cur--){
if(array[cur-1] > array[cur]){
int temp = array[cur-1];
array[cur-1] = array[cur];
array[cur] = temp;
}
}
}
}
}
- 結(jié)果展示:
二,,Java內(nèi)置排序算法 直接調(diào)用Arrays.sort()對(duì)數(shù)組進(jìn)行排序即可
- 代碼示例:
import java.util.Arrays;
public class Arraysort {
public static void main(String[] args) {
int[] array = {13,24,54,34,12,35,78,5,4,328,13,17};//定義一個(gè)隨機(jī)數(shù)組
Arrays.sort(array); //調(diào)用Arrays.sort方法
System.out.println(Arrays.toString(array));//將數(shù)組以字符串形式輸出
}
|