JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。
快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。
冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序
<1>利用Arrays带有的排序方法快速排序
public static void fun1) {
int a[]={8,1,2,3,4,5};
Arrays.sort(a);
for(int i:a) System.out.println(i);
String [] str={"wang","ABC","DEF","DEA"};
Arrays.sort(str);
for(String i:str)System.out.println(i);
}
2、冒泡法;冒泡排序是最常用的
public static void fun2){
int _arrayX[]={1,7,8,3,2,0};
for(int i=0;i<_arrayX.length;i++){
for(int j=0;j<_arrayX.length;j++){
if(_arrayX[i]<_arrayX[j]){
int tempV=_arrayX[i];
_arrayX[i]=_arrayX[j];
_arrayX[j]=tempV;
}
}
}
for(int i:_arrayX)System.out.println(i);
}
3、选择排序法:
public static void fun3(){
int _arrayX[]={9,2,10,1,7,8,3,2,0,-1};
for(int i=0;i<_arrayX.length;i++){
int _index=i;//最小值索引
for(int j=i+1;j<_arrayX.length;j++){
if(_arrayX[_index]>_arrayX[j]){
_index=j;
}
}
if(_index!=i){
int tempV=_arrayX[i];
_arrayX[i]=_arrayX[_index];
_arrayX[_index]=tempV;
}
}
for(int i:_arrayX)System.out.println(i);
}
4:插入排序法:
public static void fun4(){
int _arrayX[]={9,2,10,1,7,8,3,2,0,-1};
for(int i=1;i<_arrayX.length;i++){
for(int j=i;j>0;j--){
if(_arrayX[j]<_arrayX[j-1]){
int tempV=_arrayX[j];
_arrayX[j]=_arrayX[j-1];
_arrayX[j-1]=tempV;
}
}
}
for(int i:_arrayX)System.out.println(i);
}