程序 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
- 12024 款华为 MateBook 14 笔记本海外发布:2.8K OLED 触控屏、支持 M-Pencil 手写笔
- 2科技昨夜今晨 0508:特斯拉或启动新一轮裁员;淘宝网页版宣布完成重要升级;8999 元起,2024 款苹果 iPad …
- 3提供工业AI生成式设计软件,「设序科技」完成近亿元A+轮融资|融资首发
- 4“瑞初医药”完成上亿元Pre-A轮融资
- 52024 款苹果 iPad Pro / Air 电池容量调整,但续航时间仍为 10 小时
- 6“中腾微网”完成近亿元B轮融资
- 7爱玛科技在江苏成立新能源科技公司 注册资本1亿
- 8宁德时代子公司等成立品牌管理公司 注册资本5000万
- 9不响不辍|第18届中国投资年会·年度峰会在沪召开
- 10德福科技在九江成立销售公司 注册资本1亿