【问题标题】:Don't understand cycle sort in python不懂python中的循环排序
【发布时间】:2018-08-03 22:36:52
【问题描述】:

我一直在查看 Wikipedia 上的文章 Cycle sort,它有一个我不理解的 python 实现。

https://en.wikipedia.org/wiki/Cycle_sort

这样的线条有什么作用?

array[pos], item = item, array[pos]

【问题讨论】:

  • 在不了解 Python 的情况下,我猜这是 itemarray[pos] 的交换
  • 作为一个额外的澄清,它是一个交换,但由于item是一个局部变量,从循环排序的角度来看,目标是最小化写入次数,唯一的“写" 是array[pos]

标签: arrays list loops sorting for-loop


【解决方案1】:

这是一个交互式 Python 会话,它回答了您的问题(简而言之:array[pos]item 交换):

In [1]: array = [1,2,3]

In [2]: pos = 0

In [3]: item = 4

In [4]: array[pos], item = item, array[pos]

In [5]: array
Out[5]: [4, 2, 3]

In [6]: item
Out[6]: 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-17
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多