bigFiles没有定义,来个完整的代码能放在标签吗,这代码看得蛋疼

解决方案 »

  1.   

    public void binarySort(FileInfo fileInfo, int beginIndex, int endIndex) {
    int midIndex = (beginIndex + endIndex) / 2;
    float nowLength = fileInfo.getSize();
    float midLength = bigFiles.get(midIndex).getSize();
    float beginLength = bigFiles.get(beginIndex).getSize();
    float endLength = bigFiles.get(endIndex).getSize();
    if (nowLength > beginLength) {
    bigFiles.add(0, fileInfo);
    } else if (nowLength < endLength) {
    bigFiles.add(fileInfo);
    } else if (nowLength > midLength) {
    binarySort(fileInfo, beginIndex, midIndex - 1);
    } else if (nowLength < midLength) {
    binarySort(fileInfo, midIndex + 1, endIndex);
    } else {
    bigFiles.add(midIndex, fileInfo);
    }
    }
      

  2.   

    不知道你要怎么排序,但是你的排序明显有问题,我写了个按照fileInfo的size升序插入的代码
     public void binarySort(FileInfo fileInfo, int beginIndex, int endIndex) {
         int midIndex = (beginIndex + endIndex) / 2;
         float nowLength = fileInfo.getSize();
         float midLength = bigFiles.get(midIndex).getSize();
         float beginLength = bigFiles.get(beginIndex).getSize();
         float endLength = bigFiles.get(endIndex).getSize();
         if (nowLength < beginLength) {
         bigFiles.add((beginIndex-1)>0?(beginIndex-1):0, fileInfo);
         } else if (nowLength >= endLength) {
         bigFiles.add(fileInfo);
         } else if (nowLength >= midLength) {
         binarySort(fileInfo, midIndex+1, endIndex);
         } else{
         binarySort(fileInfo, beginIndex, midIndex-1);
         }
         }
      

  3.   

    public void binarySort(FileInfo fileInfo, int beginIndex, int endIndex) {
    int midIndex = (beginIndex + endIndex) / 2;
    float nowLength = fileInfo.getSize();
    float midLength = bigFiles.get(midIndex).getSize();
    float beginLength = bigFiles.get(beginIndex).getSize();
    float endLength = bigFiles.get(endIndex).getSize();
    if (nowLength > beginLength) {
    bigFiles.add(beginIndex, fileInfo);
    return;

    } else if (nowLength < endLength) {

    bigFiles.add(endIndex + 1,fileInfo);
    return;
    } else if (nowLength > midLength) {
    binarySort(fileInfo, beginIndex, midIndex - 1);
    } else if (nowLength < midLength) {
    binarySort(fileInfo, midIndex + 1, endIndex);
    } else {
    bigFiles.add(midIndex, fileInfo);
    return;
    }
    }
    我确实错了,太傻太天真了,竟然犯了致命错了