有沒有一種方法可以計算for循環的開始點以及對它的調整。原始循環具有這些條件Java中的shell排序算法變化
for(int gap = a.length/2; gap > 0; gap /= 2)
我調整它來排序設置希巴德shell的條件,並得到了這個
for(int gap = (int) Math.pow(2, a.length); gap > 0; gap /= 2)
它的工作原理稍微好一點的,甚至可能是正確的,但我想從這裏使用更高級的shell。
http://en.wikipedia.org/wiki/Shellsort#Gap_sequences
如何可以把(3 ^的k - 1)/ 2比頂N/3的成爲循環條件不大於?
你的意思是3^N - 1? – Juvanis
你的問題看起來很簡單。你在哪裏努力轉換這些值?你似乎意識到'Math.pow'。你知道'Math.ceil()'正確嗎?你嘗試過一些不太正常的東西嗎? – Grambot
使用天花板只是固定其中之一。我的問題是,除非我知道我應該從哪裏開始,否則對於更先進的命令,我不知道要爲for循環做些什麼。 –