程序 bug 也能负负得正吗?还真可以。比如程序员们再熟悉不过的排序算法,通过两个“bug”居然能歪打正着,实在令人匪夷所思。请看这位程序员写的数组升序排序代码:今天这串代码在 Hacker News 论坛上突然火了起来,引来大批程序员围观。乍一看这段代码,你的反应会是什么?会不会觉得这个程序员水平太差了,连基本的冒泡算法都写不好:不等号方向错了,第二层循环指数 j 的范围也弄错了。总之,这段代码“绝对不可能正确”。△冒泡算法但如果你真的运行一下会发现,结果还真的是按照升序排列的。我们再来看一下正确的冒泡算法代码是怎样的:后者不同之处是 j = i + 1 且 A [i] > A [j] ,两段程序大相径庭。然而我要告诉你一个不可思议的事实,其实第一串代码是对的,而且可以严格证明。那么它是如何实现正确排序的?为何能歪打正着仔细一想,其实很容易理解。因为该算法比冒泡排序多一半交换操作,正好可以将降序变成升序。不过,作者还是给
比冒泡算法还简单的排序算法:看起来满是 Bug 的程序,居然是对的
2021-10-06 14:12:15来源: IT之家
关注公众号
赞
你的鼓励是对作者的最大支持
- NASA 双小行星重定向测试任务将于 11 月搭 SpaceX 猎鹰 9 号发射2021-10-06 14:38:12
- 俄罗斯联盟 MS-19 号成功与 ISS 对接,导演及演员进入国际空间站2021-10-06 14:39:19
- 为削减苹果 Apple Pay 费用,多家银行向 Visa 施压2021-10-06 14:44:00
- 台积电:将于 2050 年达到净零排放目标2021-10-06 14:45:25
- 微软现向所有 Win11 用户推出全新“画图”应用2021-10-06 14:55:37
- 三星 Galaxy Watch4 Classic Thom Browne 限量版将于 10 月 12 日开售2021-10-06 14:59:21
- 调查显示:多数苹果用户对 iPhone 13 和 Apple Watch S7 并不满意2021-10-06 15:03:54
- 1439 元起,华硕 Z690 系列主板售价被曝光2021-10-06 15:14:26
- B站内测校园同城功能,观看各高校日常2021-10-06 15:17:31
- 摩托罗拉 Moto E40 售价曝光:两款配色,约 1200 元2021-10-06 15:17:48
- 1红魔 10 Pro 系列手机发布:骁龙 8 至尊版、1.5K 144Hz“悟空屏”,4999 元起
- 2GGA电竞学院携手延世大学培养游戏行业人才
- 3菲亚特动力科技推出全新紧凑型发动机 R38
- 4瑞典国家旅游局开创先例申请注册目的地商标
- 5全球顶级足球俱乐部齐聚卡塔尔沙漠之星参加卡塔尔精英学院第10届全球峰会
- 6新一轮拆迁换房来袭,但这次没有拆二代、没有暴发户了
- 7点亮你的四季生活 解锁中国大陆地区8家四季酒店会籍专属礼遇
- 8AI如何赋能可持续发展?IBM 最新调研揭秘现状:企业投资热情不减,但行动尚未跟上
- 9宜鼎专为边缘服务器应用推出E1.S固态硬盘
- 10玩家多年要求下,《魔兽世界》下一个资料片 12.0 版本将迎来家宅系统