擅长:python、mysql、java
<p>问题是<code>arrayInsertion[i + 1]</code>当<code>i = 7</code>然后<code>i</code>超出界限时,因为列表中只有<code>7</code>个元素。您也不记得当前值和索引。你知道吗</p>
<pre><code>for i in range(1, len(arrayInsertion)):
curr = arrayInsertion[i]
pos = i
while pos > 0 and arrayInsertion[pos - 1] > curr:
arrayInsertion[pos] = arrayInsertion[pos - 1]
pos -= 1
arrayInsertion[pos] = curr
</code></pre>
<p>正确地得出:</p>
<blockquote>
<p><code>[5, 5, 5, 6, 6, 8, 9]</code></p>
</blockquote>
<p>为便于将来使用,请考虑将其打包到函数<code>def insertion_sort(a)</code>。你知道吗</p>