猫史档案馆


【Python作品分享】三种排序方法【作业帖】

用户:鸽子ECYRAZ鸽子ECYRAZ查看:0 回复:0 评论:0 创建时间:2021-06-27T17:21:16


【作品展示】

center_image

 

【作品介绍】

1

 

【作品源代码】

'''
li=[23,65,12,100,75,45,28,97,109,24]
#重复的进行遍历,每一次都比较两个元素,如果他们的顺序不符合要求,就交换这个两个元素。
    #[23,65,12,100,75]
    #[23,12,65,100,75]
    #[23,12,65,75,100]
    #[12,23,65,75,100]
    #[12]

def maopao(li):
    for j in range(len(li)-1,0,-1):
        #j表示每次遍历需要比较的次数,是逐渐减小的。
        for i in range(j):
            if li[i]>li[i+1]:
                li[i],li[i+1]=li[i+1],li[i]
maopao(li)
print(li)

#选择排序,首先在未排序的序列之中找到最(大)小元素,存放在排序序列的起始位置,然后从剩余未排序的元素之中没继续寻找最(大)小元素,然后放到已排序序列的末尾,以此类推、
lis = [23, 65, 100, 75, 45, 12, 28, 97, 109, 24]

a=0
for n in range(len(lis)-1):
    min_index=n
    for b in range(n+1,len(lis)):
        #print(lis[b],"-----",lis[min_index])
        if lis[b] < lis[min_index]:
            min_index=b
            #print(min_index)
        if min_index!=n:
            lis[n],lis[min_index]=lis[min_index],lis[n]
print(lis)

'''
#插入排序,构建一个有序的序列,对于没有排列的数据,在已经排列的序列中从后向前扫描,找到相应的位置,并插入。
listt = [23, 65, 100, 75, 45, 12, 28, 97, 109, 24]
for a in range(1,len(listt)):
    for b in range(a,0,-1):
        if listt[b]

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页