排序算法(Python)

选择排序 

def selection_sort(a):
    n=len(a)
    for i in range(n-1):
        min=i
        for j in range(i+1,n):
            if a[j]<a[min]:
                min=j
        a[i],a[min]=a[min],a[i]
a=[125,142,23,654,454,1,456]
selection_sort(a)
print(a)

简而概之,逐个比较,交换顺序

结合字典序进行排序

import os
import sys

# 请在此输入您的代码
n=int(input())  # 输入要排序的数字数量

m=input().split()  # 输入待排序的数字,以空格分隔,存储为列表 m

#输入

for i in range(n-1):
  for j in range(i+1,n):
    if m[i]+m[j]<m[j]+m[i]:  # 如果将第 j 个数字与第 i 个数字连接后字典序更小
      m[i],m[j]=m[j],m[i]  # 则交换这两个数字的位置
# 采用交换排序的方式,将数字按照连接后的字符串字典序从小到大排序

print(''.join(m))  # 将排好序的数字列表连接成一个字符串并输出
# 一个输出方法

这道题我开始时考虑复杂了,考虑直接求出对应最高位数的数值,然后进行求解,忽略低位数值的大小影响,不如上面这种方法,直接进行全部位数排序。

此外,我还不知道可以从字典序的角度进行考虑

字典序(dictionary order),又称 字母序(alphabetical order),原意是表示英文单词在字典中的先后顺序,在计算机领域中扩展成两个任意字符串的大小关系。

英文中的 字母表(Alphabet) 按照如下的顺序排列:

ABCDEFG HIJKLMN OPQRST UVWXYZ

abcdefg hijklmn opqrst uvwxyz

数字的字典序同理。结合字典序,大幅减少运算。

相关推荐

  1. python排序算法代码

    2024-03-18 14:42:04       22 阅读
  2. 主流排序算法——python

    2024-03-18 14:42:04       6 阅读
  3. python 八大排序算法

    2024-03-18 14:42:04       21 阅读
  4. 快速排序算法Python版)

    2024-03-18 14:42:04       12 阅读
  5. 算法之简单排序算法“选择排序”(python

    2024-03-18 14:42:04       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-18 14:42:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-18 14:42:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-18 14:42:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-18 14:42:04       20 阅读

热门阅读

  1. 安卓UI面试题 61-65

    2024-03-18 14:42:04       20 阅读
  2. 【自动化】在C#中创建和配置串口对象SerialPort

    2024-03-18 14:42:04       18 阅读
  3. AI - 聚类算法

    2024-03-18 14:42:04       18 阅读
  4. Linux 15个常用脚本练习(初级)

    2024-03-18 14:42:04       20 阅读
  5. 数字华容道项目总结

    2024-03-18 14:42:04       18 阅读
  6. Git ignore: 忽略与清除

    2024-03-18 14:42:04       17 阅读
  7. 编程语言的生态系统

    2024-03-18 14:42:04       17 阅读
  8. 2024/3/17 TCP的进程和线程通信,模拟面试总结

    2024-03-18 14:42:04       16 阅读
  9. python实现数据可视化大屏

    2024-03-18 14:42:04       19 阅读