01 //MySort.java  --- sample using Arrays.sort( )
   02 // @CopyLeft by tsaiwn@cs.nctu.edu.tw
   03 import java.applet.*;  
   04 import java.util.*;  
   05 import java.io.*;
   06 public class MySort extends Applet {
   07     static java.io.PrintStream cout=System.out;
   08     public static void main(String gg[ ]) {
   09        MySort me = new MySort( );
   10        me.init( ); me.start( ); 
   11        me.test( );  
   12        cout.println("Thank you and Bye!");
   13     }//main(
   14     void test( ) {
   15        cout.println("Before sort Array a:"); 
   16        printAry(a);   
   17        Arrays.sort(a);  
   18        cout.println("After sort:");
   19        printAry(a);
   20        reverse(a);
   21        cout.println("After Reverse it:");
   22         printAry(a);  
   23       //////
   24        cout.println("======\nBefore sort Array b:"); 
   25        printAry(b);    
   26        Arrays.sort(b);  
   27        cout.println("After sort:");   
   28        printAry(b); 
   29     }// test(
   30  ////// template function 無法用於 基礎型別的陣列(Primitive Array)
   31     void printAry(int y[ ]) {
   32        for(int x: y) {   // 陣列 y[ ] 中每個 x
   33           cout.print(" "+x);
   34        }//for
   35        cout.println( );  // 換一列   NewLine
   36     }// printAry(
   37     void printAry(double y[ ]) {
   38        for(double x: y) {   // 陣列 y[ ] 中每個 x
   39           cout.print(" "+x);
   40        }//for
   41        cout.println( );  // 換一列   NewLine
   42     }// printAry(   
   43     void reverse(int x[ ]) {
   44         int i=0, k = x.length - 1;
   45         int tmp;
   46         for( ;; ) {
   47             if(i >= k) return;
   48             tmp=x[i]; x[i]=x[k]; x[k]=tmp;
   49             i++; --k;
   50         }// for
   51     }//    
   52     int a[ ] = { 33, 88, 55, 66, 123, 99, 22, 77};
   53     double b[ ] = { 38.49, 55.66, 66.5, 25
   54         , 168, 99.5, 85.25, 13.38, 77.5};  
   55 } // class  
   56 /******
   57 D:\jtest> path "c:\Program Files\Java\jdk1.6.0_23\bin";%path% 
   58 
   59 D:\jtest> javac MySort.java 
   60 
   61 D:\jtest> java MySort  
   62 Before sort Array a:
   63  33 88 55 66 123 99 22 77
   64 After sort:
   65  22 33 55 66 77 88 99 123
   66 After Reverse it:
   67  123 99 88 77 66 55 33 22  
   68 ======  
   69 Before sort Array b:
   70  38.49 55.66 66.5 25.0 168.0 99.5 85.25 13.38 77.5
   71 After sort:
   72  13.38 25.0 38.49 55.66 66.5 77.5 85.25 99.5 168.0  
   73 Thank you and Bye!
   74 
   75 D:\jtest>
   76 ******/