Python实现选择排序

本文深入讲解了选择排序算法的基本原理及实现过程,通过实例演示了排序步骤,并提供了Python示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  选择排序是一种简单直观的排序算法,它的基本原理如下:对于给定的一组记录经过第一轮的比较后得到最小的记录,然后将该记录与第一个记录进行交换;接着对不包括第一个记录以外的其他记录进行比较,得到最小的记录并与第二个记录进行位置交换;重复该过程,直到进行比较的记录只有一个为止。以数组{38,65,97,76,13,27,49}为例(假设要求为升序排列),具体步骤如下:

  第一次排序后:13[65 97 76 38 27 49]

  第二次排序后:13 27[97 76 38 65 49]

  第三次排序后:13 27 38 [76 97 65 49]

  第四次排序后:13 27 38 49 [97 65 76]

  第五次排序后:13 27 38 49 65 [97 76]

  第六次排序后:13 27 38 49 65 76 [97]

  最后排序结果:13 27 38 49 65 76 97

示例代码如下:

#encoding:utf-8
def select_sort(lists):
    # 选择排序
    count = len(lists)
    for i in range(0,count):
        min = i
        for j in range(i+1,count):
            if lists[min]>lists[j]:
                min=j
        lists[min],lists[i] = lists[i],lists[min]
    return lists
if __name__ == "__main__":
    lists = [3,4,2,8,9,5,1]
    print("排序前序列为:"),
    for i in lists:
        print(i),
    print("\n排序后结果为:"),
    for i in select_sort(lists):
        print(i),

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值