3.18

問題一:

System.out.println (" 排 序 之 前 : \n" +java.util.Arrays.toString (data));中的java.util.Arrays.toString (data))是如何理解的?是數組轉集合嗎?java

問題二:

快排總體代碼沒有看懂算法

問題三:

歸併總體代碼沒有看懂數組

問題四:

手寫spark-workcount沒看懂spa

冒泡排序

public class BubbleSort{  
    public static void bubbleSort(int[] data){    
        System.out.println("開始排序");
        for(int i=0;i<data.length-1;i++){
            for(int j=0;j<data.length-1-i;j++){
                //此處爲何要設置false?
                boolean flag = false;
                if(data[j]>data[j+1]){
                    int tmp = data[j+1];
                     data[j+1] = data[j];
                     data[j] = tmp;
                     //此處爲何要設置flag = true?
                     flag = true;
                }
            }
            System.out.println(java.util.Arrays.toString(data));
            if(!flag){
                break;               
        }       
    }    
}排序

二分查找算法之java實現

//<E extends Comparable<E>中的E是個什麼類?繼承CompareTo有什麼做用?int binarySerch()是返回一個int類型的下標嗎?
public static <E extends Comparable<E>>  int binarySerch(E[]array ,int from,int to,E key)throws Exception{
    if(from < 0 || to < 0){
        throw new IllegalArgumentException("params from & length must larger than 0.");
    }
    if(from <= to){
        //>>>表明什麼意思?
        int middle = (from >>>1) +(to >>>1);
        E temp = array[middle];
        if(temp.compareTo(key) > 0){
            to = middle-1;
        }else if(temp.copareTo(key)<0){
            from = middle+1;
        }else{
            return middle;
        }        
    }    
    return binarySerch(array,from,to,key);   
}繼承

相關文章
相關標籤/搜索