Python3简单实现选择排序

本文深入解析选择排序算法的实现过程,通过Python代码演示了如何进行数据排序,详细展示了外层循环和内层循环的作用,以及如何通过比较和交换操作完成整个排序流程。

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

# -*- coding: UTF-8 -*-
class SelectionSort(object):

    resultStr = ""
    # 初始化SelectionSort
    def __init__(self,datas):
        self.datas = datas
        self.datas_len = len(datas)
 
    def sort(self):
        for i in range(self.datas_len-1):
			# i (0:4)
            for j in range(self.datas_len-1-i):
				#   j   (0:4,0:3,0:2,0:1,0:0)
				# 	i 	(0  ,1  ,2  ,3  ,4  )
				# j+i+1 (1:5,2:5,3:5,4:5,5:5)
                print(str(i)+"   "+str(j+i+1)+"     "+str(self.datas[i])+"   "+str(self.datas[j+i+1]))
                if (self.datas[i]>self.datas[j+i+1]): 
					#调换self.datas第i位和第j+i+1位
                    self.datas[i],self.datas[j+i+1] = self.datas[j+i+1],self.datas[i]
        for i in range(self.datas_len):
            self.resultStr = self.resultStr+str(self.datas[i])+" "

    def show(self):
        print("排序结果:"+self.resultStr)
        
 #从这里开始
def main():
	#这里是开始的列表
    data = [19,1,5,3,7,24]
    #将原始数据放入BubbleSort类中,__init__方法将data初始化为该类的属性
    selectionSort = SelectionSort(data)
    #排序
    selectionSort.sort()
    #打印
    selectionSort.show()
 
if __name__ == '__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值