2013-09-23 235 views
0

我讀這裏的一些排序算法(http://www.sorting-algorithms.com/insertion-sort),我看到下面的行理解僞代碼

i = 2:n 

有人可以解釋了這是什麼意思?

理論上我明白插入排序i =數組大小。但有人可以告訴我,如果我得到它的權利?

+0

n =一個隨機整數,'i = 2:n'將意味着'i'是一個整數'> = 2',但在這種情況下更可能:範圍/數組從2到更高的數字n '。 – Wrikken

+0

我最好的猜測是它表示從2到'n'的範圍,但我不是100%確定的。 –

回答

3

這種表示法通常用於描述數字的範圍。在你的情況下,for i = 2:n可以被理解爲「對於每個我從數字2到n」。如果n = 4,則循環將運行三次,其中i = 2,i = 3,並且i = 4。

0

這基本上是一個環,類似於

for(int i = 2 ; i <= n ; i++) 

Wherea n在循環以上的某處定義的。

基本上:讓i爲2,遞增它直到它達到n並使用i爲每個迭代做一些行爲。

0

這意味着迭代i取值爲2n

3

在你鏈接的網站上的僞代碼:

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