Re: [闲聊] python小白问个问题

楼主: erimow (Erimo)   2024-08-08 15:30:45
Write a function called "mySort" that takes an list of integers as input, and
returns the sorted version of the input list. You are not allowed to use the
built-in sorted() function.
mySort([17, 0, -3, 2, 1, 0.5]); # returns [-3, 0, 0.5, 1, 2, 17]
写到一半问朋友
朋友告诉我气泡排序法
def mySort(lst):
n = len(lst)
for i in range(n):
for ele in range(0, n - i - 1):
if lst[ele] > lst[ele + 1]:
lst[ele], lst[ele + 1] = lst[ele + 1], lst[ele]
print(lst)
return lst
mySort([17, 0, -3, 2, 1, 0.5])
# returns [-3, 0, 0.5, 1, 2, 17]
我这样写能过
但我有个问题
for ele in range(0, n - i - 1):
这句我不太懂怎么解释
但后面的东西我懂
我现在是一个我的code会动,但我不知道他为什么会动
作者: emptie ([ ])   2024-08-08 15:32:00
就 这个循环要执行的范围啊 ele从0到n-i-1
作者: CP3isgood (3345678)   2024-08-08 15:32:00
就ele = 0 ~ n-i-2 各跑一次阿
作者: emptie ([ ])   2024-08-08 15:33:00
外面的循环i每多1 里面的循环就少执行1次
作者: Wardyal (Wardyal)   2024-08-08 15:34:00
去YT看别人图解BS的影片就懂了
作者: oin1104 (是oin的说)   2024-08-08 15:34:00
每次弄气泡排0~n-i-1这个区间之后 这个区间会变短一个因为最后一个排好了
楼主: erimow (Erimo)   2024-08-08 15:35:00
喔 懂了
作者: sustainer123 (caster)   2024-08-08 15:35:00
从0开始到n-i-2结束
楼主: erimow (Erimo)   2024-08-08 15:36:00
区间短一个比较具体 想像一下就能懂
作者: sustainer123 (caster)   2024-08-08 15:36:00
你姑姑噜bubble sort 有图像化的讲解
作者: yam276 ('_')   2024-08-08 15:40:00
巴柏搜

Links booklink

Contact Us: admin [ a t ] ucptt.com