问题描述
- 我的冒泡排序(python)为何实现不了?
- 这是我根据描述写的代码:
def bubblesort(l): for ij in enumerate(l[:-1]): for xy in enumerate(l[i+1:]): if j > y: tem = l[i] l[i] = l[x] l[x] = tem return l
这是豆瓣上找到的代码:
def bubble(xn):"" 冒泡排序,x是列表,n是列表长度"" for i in range(n): for j in range(n-1): if x[j]>x[j+1]: t = x[j] x[j] = x[j+1] x[j+1] = t return xprint bubble([110254125348] 8) #[1 2 3 5 10 25 41 48]
我感觉都一样啊。。。而且,我用enumerate是出于内存的考虑,不知道这想法对不对
解决方案
1楼说的对,可以再试试。。。。
解决方案二:
enumerate()是函数,等于是先对列表做了一个快照。之后你修改列表是不影响快照的。
时间: 2025-01-21 06:08:17