首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >冒泡排序查询

冒泡排序查询
EN

Stack Overflow用户
提问于 2019-02-14 23:08:48
回答 3查看 75关注 0票数 2

我不明白第二行的"-1,0,-1“是怎么回事。为什么它需要这样做,零代表什么?

我已经运行了代码,当我删除"-1,0,-1“部分时,它没有对列表进行排序。我不明白为什么它是代码中如此关键的部分

代码语言:javascript
复制
def bubbleSort(alist):
    for passnum in range(len(alist)-1,0,-1): #line 2
        for i in range(passnum):
            if alist[i]>alist[i+1]:
                temp = alist[i]
                alist[i] = alist[i+1]
                alist[i+1] = temp

alist = [54,26,93,17,77,31,44,55,20]
bubbleSort(alist)
print(alist)
EN

回答 3

Stack Overflow用户

发布于 2019-02-14 23:12:49

这与算法无关。range有3个参数

  • from
  • to
  • step

在这种情况下,这意味着

从最后一个元素(index=N-1)

  • continue开始,直到第二个(index=0)

  • step=-1 (向后)
票数 3
EN

Stack Overflow用户

发布于 2019-02-14 23:12:52

这些是range(start, stop, sep) (https://docs.python.org/3/library/functions.html#func-range)的参数,在本例中,您创建了一个从列表长度-1 (len(alist)-1)开始的范围,并通过采取-1的步长计数到0。

票数 0
EN

Stack Overflow用户

发布于 2019-02-14 23:14:29

正如评论所建议的那样,如果你在谷歌上搜索range的文档,你可能已经解决了问题。你的台词是:

代码语言:javascript
复制
range(len(alist)-1,0,-1)

表示范围从列表的结束开始(这是长度减1,因为列表是0 indexed的),结束于1 (0之前的一个),步长为-1 (向后)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54693484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档