我讀這裏的一些排序算法(http://www.sorting-algorithms.com/insertion-sort),我看到下面的行理解僞代碼
i = 2:n
有人可以解釋了這是什麼意思?
理論上我明白插入排序i =數組大小。但有人可以告訴我,如果我得到它的權利?
我讀這裏的一些排序算法(http://www.sorting-algorithms.com/insertion-sort),我看到下面的行理解僞代碼
i = 2:n
有人可以解釋了這是什麼意思?
理論上我明白插入排序i =數組大小。但有人可以告訴我,如果我得到它的權利?
這種表示法通常用於描述數字的範圍。在你的情況下,for i = 2:n
可以被理解爲「對於每個我從數字2到n」。如果n = 4,則循環將運行三次,其中i = 2,i = 3,並且i = 4。
這基本上是一個環,類似於
for(int i = 2 ; i <= n ; i++)
Wherea n
在循環以上的某處定義的。
基本上:讓i
爲2,遞增它直到它達到n
並使用i
爲每個迭代做一些行爲。
這意味着迭代i
取值爲2
到n
。
在你鏈接的網站上的僞代碼:
for i = 2:n,
for (k = i; k > 1 and a[k] < a[k-1]; k--)
swap a[k,k-1]
end
第一行意味着第二行和第三行重複n-1
次,並在第一時間,i = 2
,第二時間,i = 3
,第三時間,i = 4
,最後一次是i = n
。
n =一個隨機整數,'i = 2:n'將意味着'i'是一個整數'> = 2',但在這種情況下更可能:範圍/數組從2到更高的數字n '。 – Wrikken
我最好的猜測是它表示從2到'n'的範圍,但我不是100%確定的。 –