Home
Sign Up
Sign In
deagleWSJ's recent timeline updates
deagleWSJ
V2EX member #498850, joined on 2020-07-13 03:47:04 +08:00
deagleWSJ
提问
技术话题
好玩
工作信息
交易信息
城市相关
deagleWSJ's recent replies
Jan 5, 2024
Replied to a topic by
samhjn
›
程序员
›
考考大家,华为云公众号里展示的这个快排程序哪里错了
@
billccn
交换 arr[i], arr[j]后下一次循环会进入 while(arr[i] < pivot) i++。真正的问题对于含有重复元素的数组排序,当 arr[i]和 arr[j]都等于 pivot 时会死循环。
Jan 5, 2024
Replied to a topic by
samhjn
›
程序员
›
考考大家,华为云公众号里展示的这个快排程序哪里错了
1. 当数组存在重复元素时,可能会导致死循环。修改:i++和 j--循环条件判断改为<=
2. i 初始从 left 开始,且 pivot=arr[left],会导致每次循环 i 和 j 总会有一个不动,pivot 值在 i 和 j 间换来换去。修改:i 从 left+1 开始,最后把 pivot 换到中间。
3. pivot 直接取 left 值,对于接近倒序的的数组性能较差。修改:left~right 间的随机位置作为 pivot ,并换到 left
»
More replies by deagleWSJ
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Solana
·
2723 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms ·
UTC 10:14
·
PVG 18:14
·
LAX 03:14
·
JFK 06:14
♥ Do have faith in what you're doing.
❯