public class 数组排序的三种方法 {
public static void main(String[] args) {
int array[]={49,38,65,27,97,13,76};
int temp=0;
// maopao(array, temp);
// xuanzepaixu(array, temp);
charupaixu(array, temp);
for(int k=0;k<array.length;k++){
System.out.println(array[k]);
}
}
/**
* 选择排序,从大到小
* @param array
* @param temp
*/
public static void xuanzepaixu(int array[],int temp){
for(int i=0;i<array.length;i++){
for(int j=i+1;j<array.length;j++){
if(array[j]>array[i]){
temp=array[j];
array[j]=array[i];
array[i]=temp;
}
}
}
}
/**
* 冒泡排序,从小到大
* @param array
* @param temp
*/
public static void maopao(int array[],int temp){
for(int i=array.length-1;i>=1;i--){
for(int j=0;j<=i-1;j++){
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
/**
* 插入排序,从小到大
* @param array
* @param temp
*/
public static void charupaixu(int array[],int temp){
for(int i=0;i<array.length;i++){
for(int j=i;j>0;j--){
if(array[j]<array[j-1]){
temp=array[j];
array[j]=array[j-1];
array[j-1]=temp;
}else{
break;
}
}
}
}
}