代碼跟王道上寫的幾乎一模一樣
個別不一樣的地方也嘗試修改但沒有用
目前的問題是,排序形同虛設,輸入序列和輸出序列完全一致
uj5u.com熱心網友回復:
void ShellSort(int a[],int n)
{
int ik = n / 2;
int i = 2;
int j = i - ik;
for (ik=n/2;ik >= 1;ik = ik / 2);
{
for (i=2;i < n;i++)
{
a[0] = a[i];
for (j = i - ik;j > 0 && a[0] < a[j];j = j - ik)
{
a[j + ik] = a[j];
}
a[j + ik] = a[0];
}
}
}
uj5u.com熱心網友回復:
代碼如上所示uj5u.com熱心網友回復:
沒碰過希爾排序,但是lz的代碼顯然不對注意形如下面的代碼
a[i]=a[j]
他把陣列里的排行為j的那個元素抓出來貼到陣列里排行為i的那個位置
那么貼完后原先的a[i]呢?丟了??
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/55621.html
標籤:數據結構與算法
上一篇:鍵盤問題
下一篇:大資料實時分析架構實作?
