2
我最近讀了一本書,如果我們將n
元素排序在一個數組中,所需的迭代次數爲n*(n-1)*...*1 = 7!
。但我確定比較的實際數量是(n-1)+(n-2)+ ... + 1 = n(n-1)/ 2。那麼迭代次數和比較次數有什麼不同呢?我猜測沒有,因爲在每次迭代中都會比較數值[if(m[j]>m[j+1])
]。所以我錯過了什麼,或者是錯的書?氣泡排序算法中的迭代次數是否等於(n-1)!爲n個元素?
整個代碼:
for(i=0;i<7;i++)
{
for(j=0;j<7-i;j++)
{
if(m[j]>m[j+1])
{
t=m[j];
m[j]=m[j+1];
m[j+1]=t;
}
}
}
爲什麼每次我在這裏看到氣泡排序的實現這是錯的...是的,它的工作,但不會停止時,數組排序使它EXTREMLY SLOOOW ..看到這個如何調試我的氣泡排序代碼爲什麼你錯過了。 (第一個循環的結束條件) – Spektre