栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 手写选择排序(不用sort)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 手写选择排序(不用sort)

函数mysort(alist)用于计算包含数字的列表的排序(包括升序和降序。不能使用python中的函数sort或sorted)。

import random
def section_sort1(alist):
    n = len(alist)
    # 定义外围循环次数
    for j in range(n - 1):
        # 定义min_index最小值的索引为j,目的找出最小值
        min_index = j
        # cur下标移动的范围,比较次数的范围限定
        for i in range(j + 1, n):
            # 元素比较,找出最小的值对应的索引
            if alist[i] < alist[min_index]:
                # 移动到最小元素的位置
                min_index = i
 
        # 保证最新的min_index不在无序队列的首位,那么就将它和无序队列的首位替换
        if min_index != j:
            alist[j], alist[min_index] = alist[min_index], alist[j]

def section_sort2(alist):
    n = len(alist)
    # 定义外围循环次数
    for j in range(n - 1):
        # 定义min_index最小值的索引为j,目的找出最小值
        min_index = j
        # cur下标移动的范围,比较次数的范围限定
        for i in range(j + 1, n):
            # 元素比较,找出最小的值对应的索引
            if alist[i] > alist[min_index]:
                # 移动到最小元素的位置
                min_index = i
 
        # 保证最新的min_index不在无序队列的首位,那么就将它和无序队列的首位替换
        if min_index != j:
            alist[j], alist[min_index] = alist[min_index], alist[j] 

n=int(input())
alist=[random.randint(0,100)for i in range(n)]
print(alist)
section_sort1(alist)
print("排序后1:",alist)
section_sort2(alist)
print("排序后2:",alist)

参考哪位博主的现在找不到了 侵删

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/844179.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号