以a[7]=2為例,因為2<3,所以直接跳到 par[6] 項繼續比對
int find(m-1, m) { return ( A[m] < A[m-1] ? m-1 : find(par[m-1], m) ); }
以a[7]=2為例,因為2<3,所以直接跳到 par[6] 項繼續比對
int find(m-1, m) { return ( A[m] > A[m-1] ? m-1 : find(par[m-1], m) ); } (寫錯了! 修正 ^===^)
以a[7]=2為例,因為2<3,所以直接跳到 par[6] 項繼續比對
int find(m-1, m) { return ( A[m] > A[m-1] ? m-1 : find(par[m-1], m) ); } (寫錯了! 修正 ^===^)
int find(int a, int b) { return ( A[b] > A[a] ? a : find(par[a], b) ); } (又寫錯了! 再修正 ^==============^)