Java基础面试题3(排序算法)

2014-11-24 00:35:13 · 作者: · 浏览: 0

1、冒泡排序:和快速排序一样属于交换排序的一种


public class Sort{

    public void generatArray(int [] array){
        Random random = new Random();
        for (int i=0;i
  
   array[j+1]){
                    tmp=array[j];
                    array[j]=array[j+1];
                    array[j+1]=tmp;
                }
            }
        }
        for (int a : array) {
            System.out.print(a+",");
        }
        System.out.println();
    }
    
    public static void main(String args[]){
        Sort sort = new Sort();
        int array[]=new int[10];
        sort.generatArray(array);
        sort.bubbleSort(array);
    }
}
  


2、快速排序:是对冒泡排序的改进


public class Sort{

    public void generatArray(int [] array){
        Random random = new Random();
        for (int i=0;i
  
   =r)
            return;
        int k = array[l];
        int i =l,j=r;
        while(i
   
    array[i]) i++; if(i
    
     

3、插入排序:


public class Sort{

    public void insertSort(int [] array){
        for(int i=1;i
      
       0 && array[j-1]>tmp;j--)
                array[j]=array[j-1];
            array[j]=tmp;
        }
        
        for (int a : array) {
            System.out.print(a+",");
        }
        System.out.println();
    }
    
    public static void main(String args[]){
        Sort sort = new Sort();
        int array[]=new int[10];
        sort.generatArray(array);
        sort.insertSort(array);
    }
}