今天開始學Java 排序演算法之堆排序

2021-08-16 15:03:16 字數 582 閱讀 3784

大頂堆用於公升序排列:經過多次比較把最大的元素放到根結點(相當於找到序列裡面的最大元素),然後再將這個最大元素放到葉結點,這個葉結點就固定不動了,繼續比較其它結點,從剩下的結點裡面供乙個最大元素出來放到根結點,依次迴圈。

public class insertsort

// change the top to the butten

for(int j =a.length-1;j>0;j--)

}public static void adjustheap(int a,int i ,int len)

//if the son node > father node,let father's valuse equal the son's valuse

if(a[k] >tmp)else

}a[i] = tmp;

} public static void swap(int arr,int a ,int b)

public static void main(string args) ;

sort(a);

for(int i = 0;isystem.out.print(a[i]+" ");}}

今天開始學Java 排序演算法之歸併排序

思路 它的最直觀的想法是將兩個有序子串行通過從左到右兩兩元素相互比較的排序的方法,那麼如果使兩個子串行有序呢,那就再將這兩個子串行兩兩分,一直分下去的話最後就得到長度為1的各個子串行,這時就相當於每個子串行都是有序的了,最後按照之前的最直觀的想法兩兩比較合併。甩上 來 public static v...

今天開始學Java 菜鳥對Scanner的迷惑

本菜鳥初學scanner這個類,對於hasnext 和nextline 這兩個函式弄的不是很清楚 我的重點一直很迷 後面通過實驗發現,如果程式裡面沒有while sc.hasnext 這個迴圈的話,對於string s nextline 這一條函式來說的話就只能取一次值 這裡的一次值是指使用者輸入有...

今天開始學Java 開發乙個座標計算工具

開發乙個座標計算工具,a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從 0,0 點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。輸入 合法座標為a 或者d或者w或者s 數字 兩位以內 座標之間以 分隔。非法座標點需要進行丟棄。如aa10 a1a yad ...