python-3.x - 手动排序算法中的逻辑错误
问题描述
我正在尝试通过算法而不是使用 .sort() 函数对数字列表进行排序。当列表中没有重复整数时,逻辑工作正常,但如果列表有两个或多个相同的整数,则逻辑无法正常工作。
例如。它算法适用于
数字 = [13, 6, 9, 2, 1, 10, 3, 8, 12]
但不适用于
数字 = [13, 6, 9, 2, 1, 10, 3, 8, 8, 12]
number = [13, 6, 9, 2, 1, 10, 3, 8, 12]
for j in range(len(number)):
min_number = number[j]
for i in range(j, len(number)):
if number[i] < min_number:
min_number = number[i]
number.remove(min_number)
number.insert(j, min_number)
print(number)
解决方案
推荐阅读
- spring - 发布 modelAndView 后重定向不起作用
- python - Pandas:当组中的值包含相似值时,从数据中删除组
- hibernate - 休眠入口点?主班
- java - 生成签名的 APK 时收到警告
- .net - 动画后的属性访问
- zsh - 为什么“:l”在zsh脚本中消失了
- windows - 使用命令刷新 cmd 环境
- amazon-web-services - 使用 CircleCI 部署到 AWS S3 后如何运行应用程序?
- r - 闪亮的动态选择列表和渲染表中的元素
- fiware-orion - 如何在 fiware orion 中使用 subscribe_id 从 csubs 取消订阅特定实体