快速排序.java

来自「快速排序算法的C语言实现」· Java 代码 · 共 59 行

JAVA
59
字号

public class qsort {
   //private int m,n;
   //private int array[] = new int[n];
   public static void sort (int array1[], int m, int n )
      { int splitpoint;
        int low = m; 
        int high = n;
        int pivot = array1 [m];
        while (low < high){
        while ((array1 [high]>= pivot) && (low < high)){
           high--;
        }
        if (low == high){ 
          array1 [low]=pivot;
          splitpoint = low;
          sort (array1, m, splitpoint-1 );
          sort (array1,splitpoint+1, n );
          } 
        else {
          array1[low]=array1[high];
          low++;
          while ((array1[low]<=pivot)&& (low < high))
            low++;
            if (low == high)
              {array1 [low]=pivot;
               splitpoint = low;
               sort (array1, m, splitpoint-1 );
               sort (array1,splitpoint+1, n );
              }
             else 
              {array1[high]= array1[low];
               high--;
               }
         }     
        
      } 
    }
    
    public static void main(String args[]){
    	//input =  new InputStream();
    	int num;
        int array1[]=new int[10];
        if (args.length<10){
        	System.out.println("need more parameters!");
        	System.exit(0);
        }
        System.out.println("before qsort, the array are:");
    	for (num = 0; num < 10; num++){
    	  array1[num]= Integer.parseInt(args[num]);
    	  System.out.print(array1[num]+" ");
    	}
    	sort(array1,0,9);
    	System.out.println("after sorting, the array are:");
    	for (num = 0; num <10; num++)
    	 System.out.print (" "+array1[num]);
    	}
}
    	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?