**
Java中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。
**
- L1
快速排序:最简单的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);
}
- L2
部分排序:使用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]+",");
}
}
- L3
冒泡排序法:从下到上,两两进行比较,越小的越往上,从而形成由小到大的排序。
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));
}
---------------------------------------或者------------------------------------------
package com.xuedao.pojo;
public class Sorts {
public static void main(String[] args) {
int x[] = {22,500,300,1,99,85,47,86};
sort1(x);
}
public static void sort1(int a[]) {
for(int i = 0; i < a.length-1; i++) {//循环跑了几遍
for(int j = 0; j <a.length - 1 - i; j++) {//下角标
if(a[j]>a[j+1]) {//从小到大为<,从大到小为>
int temp = a[j];//换位置
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for (int i : a) {
System.out.println(i);
}
}
}