'''
选择排序
选择排序的核心思想是,每一轮从未排序部分选出最小(或最大)的元素,
放到已排序部分的末尾。
1.初始状态,所有元素未排序,即未排序区间为[0,n-1]
2.选取[0,n-1]中的最小元素,将其与索引0处的元素交换。数组前1个元素已排序。
3.选取[1,n-1]中的最小元素,将其与索引1处的元素交换。数组前2个元素已排序。
4.选取[2,n-1]中的最小元素,将其与索引2处的元素交换。数组前3个元素已排序。
5.以此类推。经过n-1轮选择与交换后,数组前n-1个元素已排序。
6.仅剩的一个元素必定是最大元素,无须排序,因此数组排序完成。
'''
def selection_sort(nums):
    n = len(nums)
    for i in range(n-1):
        k = i
        for j in range(i+1, n):
            if nums[j] < nums[k]:
                k = j
        nums[k], nums[i] = nums[i], nums[k]
    return nums
nums = [1, 3, 5, 4, 6]
print("排序后的数组:", selection_sort(nums))

#数字反转:输入一个正整数,用while循环实现倒序输出
#例如,输入123,输出321
num=int(input("请输入一个数字:"))
r_num=0
while num>0:
    last=num%10 #取出最后一个数字
    r_num=r_num*10+last
    num=num//10 #去掉原数字的最后一位
print(r_num)

更多推荐