选择排序

算法原理:
假如我有一个序列[23, 7, 3, 50, 4, 26, 1], 首先我在这个序列中寻找最小的元素,然后找到了最小的元素是1。然后我就将这个最小的元素和这个序列第一个元素23进行交换,现在就得到了这个新序列[1, 7, 3, 50, 4, 26, 23]. 这个序列被分成了两部分,一部分是1这个已经排好序的子序列,另外一个是没有排好序的子序列 7, 3, 50, 4, 26, 23. 接下来在这个未排序的子序列7, 3, 50, 4, 26, 23寻找最小的元素。好了,找到了最小的元素是3(原序列中第二小的元素),于是将3和原序列中第二个元素的位置进行交换,就有了现在这个序列 [1, 3, 7, 50, 4, 26, 23],其中1和3是已经排好序的。于是又在7, 50, 4, 26, 23中找到第三小的元素,再将这个元素和[1, 3, 7, 50, 4, 26, 23]中第三个元素的位置进行交换,如果此元素本来就是第三小且位于[1, 3, 7, 50, 4, 26, 23]的第三个元素,则保持位置不变。就这样依次循环下去找剩下的未排序中的最小的元素,再进行位置交换最后就得到了一个排好序的序列。

### selection sort ###
def selection_sort(data_list):
    n = len(data_list)
    for j in range(n-1): 
        smallest = j
        for i in range(j+1, n):
            if data_list[i] < data_list[smallest]:
                smallest = i
        if smallest != j: 
            replace = data_list[j]
            data_list[j] = data_list[smallest]
            data_list[smallest] = replace
    return data_list


if __name__ == '__main__':
    A = [10,2,4,23,1,9]
    data_list = selection_sort(A)
    print(data_list)
基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip 【备注】 1、该资源内项目代码百分百可运行,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值