这个方法中的两个数组参数,一直没搞清楚为什么要用两个数组,谢谢达人们指教
void QuickSort(String[] pData,int[] pDataNum,int left,int right)
      { 
        int i,j; 
        int iTemp; 
        String middle,strTemp;
        i = left; 
        j = right; 
        middle = pData[(left+right)/2]; 
        do{ 
          while((pData[i].compareTo(middle)<0) && (i<right)) 
            i++;      
          while((pData[j].compareTo(middle))>0 && (j>left)) 
            j--; 
          if(i<=j) 
          { 
            strTemp = pData[i]; 
            pData[i] = pData[j]; 
            pData[j] = strTemp; 
            
            iTemp = pDataNum[i]; 
            pDataNum[i] = pDataNum[j]; 
            pDataNum[j] = iTemp; 
            
            i++; 
            j--; 
          } 
        }while(i<=j);//如果两边扫描的下标交错,就停止(完成一次)         if(left<j) 
          QuickSort(pData,pDataNum,left,j);         if(right>i) 
          QuickSort(pData,pDataNum,i,right); 
      }