06 python排序

# -*- coding: utf-8 -*-
# @Time : 2025/4/4 14:18
# @Author : write1994
# @File : lera_sort.py
# @Desc : 排序

# 冒泡排序

a = [1, 3, 10, 9, 21, 35, 4, 6]
s = range(1, len(a))[::-1]
print(list(s))  # 交换次数
for i in s:
    for j in range(i):
        if a[j] > a[j + 1]:
            a[j], a[j + 1] = a[j + 1], a[j]
    print("第 %s 轮交换后数据:%s" % (len(s) - i + 1, a))
print(a)

# 封装方法
def bubble_sort(arr):
    n = len(arr)
    # 遍历所有数组元素
    for i in range(n):
        # 最后 i 个元素已经排好序,不需要再比较
        for j in range(0, n - i - 1):
            # 如果当前元素大于下一个元素,则交换它们
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
    return arr

# 测试冒泡排序
arr = [1, 3, 10, 9, 21, 35, 4, 6]
sorted_arr = bubble_sort(arr)
print("排序后的数组:", sorted_arr)

# sort 排序
'''
已知一个队列[1, 3, 6, 9, 7, 3, 4, 6]
 按从小到大排序
 按从大大小排序
 去除重复数字

'''
a = [1, 3, 6, 9, 7, 3, 4, 6]
# 1.sort 排序,正序
a.sort()
print(a)
# 2.sort 倒叙
a.sort(reverse=True)
print(a)
# 3.去重
b = list(set(a))
print(b)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值