擅长:python、mysql、java
<p>考虑一下您的代码的这个小小的泛化;我刚刚将<code>sequence[j-1]</code>和<code>item</code>的比较重构为一个单独的函数。你知道吗</p>
<pre><code>def out_of_order(a, b):
return a > b
def myInsertionSort(sequence):
for i in range (1, len(sequence)):
item = sequence[i]
j = i
while j > 0 and out_of_order(sequence[j-1], item):
sequence[j] = sequence[j-1]
j -= 1
sequence[j] = item
return sequence
</code></pre>
<p><code>while</code>循环交换两个被认为是无序的项。现在想一想,如果通过修改<code>out_of_order</code>的定义来改变两个项目无序的含义,会发生什么。你知道吗</p>