這是平時經常用到的排序方法整理,簡單易懂
快速排序:首先是最簡單的Array.sort,直接進行排序:
public static void main(String[] args) {
int[] arr = {4,3,5,1,7,9,3};
Arrays.sort(arr);
for (int i : arr){
System.out.println(i);
}
2、部分排序法:使用Array.sort還可進行選擇想要排序的部分數字,如將下角標編號為1~4的數字進行排序,其他數字順序不變。
int[] arr = {4,3,5,1,2,9,3,0};
Arrays.sort(arr,1,4);
for (int i = 0;i<arr.length;i++){
System.out.print(arr[i]+",");
輸出結果為:4,1,3,5,2,9,3,0, 可見僅下標為1~4的數字進行了排序。
3、氣泡排序法:顧名思義,從下到上,兩兩進行比較,越小的越往上,從而形成由小到大的排序。
public static void bubble(int[] arr){
int temp;
//根據角標進行比較,
for(int i = 0; i<arr.length; i++){
//j是陣列的最後一個角標
for (int j = arr.length-1; j > i; j--) {
if (arr[j] < arr[j - 1]) {
//從後往前進行比較,小數往前,一輪之後最小數就在最前面了
temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
int[] arr = {3,22,5,3,66,2,9};
bubble(arr);
//使用foreach迴圈輸出
for(int x : arr){
System.out.println(x);
//使用字串表達形式輸出,輸出形式更為直觀
System.out.println(Arrays.toString(arr));
這是平時經常用到的排序方法整理,簡單易懂
快速排序:首先是最簡單的Array.sort,直接進行排序:
public static void main(String[] args) {
int[] arr = {4,3,5,1,7,9,3};
Arrays.sort(arr);
for (int i : arr){
System.out.println(i);
}
2、部分排序法:使用Array.sort還可進行選擇想要排序的部分數字,如將下角標編號為1~4的數字進行排序,其他數字順序不變。
public static void main(String[] args) {
int[] arr = {4,3,5,1,2,9,3,0};
Arrays.sort(arr,1,4);
for (int i = 0;i<arr.length;i++){
System.out.print(arr[i]+",");
}
}
輸出結果為:4,1,3,5,2,9,3,0, 可見僅下標為1~4的數字進行了排序。
3、氣泡排序法:顧名思義,從下到上,兩兩進行比較,越小的越往上,從而形成由小到大的排序。
public static void bubble(int[] arr){
int temp;
//根據角標進行比較,
for(int i = 0; i<arr.length; i++){
//j是陣列的最後一個角標
for (int j = arr.length-1; j > i; j--) {
if (arr[j] < arr[j - 1]) {
//從後往前進行比較,小數往前,一輪之後最小數就在最前面了
temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = {3,22,5,3,66,2,9};
bubble(arr);
//使用foreach迴圈輸出
for(int x : arr){
System.out.println(x);
}
//使用字串表達形式輸出,輸出形式更為直觀
System.out.println(Arrays.toString(arr));
}