You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求适用于4个元素、含5次比较与5次交换的短稳定排序算法

适用于4元素的简短稳定排序算法(5次比较+5次交换)

以下是满足要求的紧凑实现,确保稳定排序(相等元素相对顺序不变),且仅使用5次比较、最多5次交换:

def stable_sort4(a):
    if a[1] > a[2]:
        a[1], a[2] = a[2], a[1]
    if a[0] > a[1]:
        a[0], a[1] = a[1], a[0]
    if a[2] > a[3]:
        a[2], a[3] = a[3], a[2]
    if a[1] > a[2]:
        a[1], a[2] = a[2], a[1]
    if a[0] > a[1]:
        a[0], a[1] = a[1], a[0]

验证示例

针对输入 [60, 61, 52, 73](比较时忽略最后一位,即60与61视为相等):

  1. 第一步:比较索引1(61)与索引2(52),61>52,交换后数组变为 [60, 52, 61, 73]
  2. 第二步:比较索引0(60)与索引1(52),60>52,交换后数组变为 [52, 60, 61, 73]
  3. 第三步:比较索引2(61)与索引3(73),61≤73,不交换
  4. 第四步:比较索引1(60)与索引2(61),60≤61(视为相等),不交换
  5. 第五步:比较索引0(52)与索引1(60),52≤60,不交换

最终结果为 [52, 60, 61, 73],符合稳定排序的要求,保持了原数组中60与61的相对顺序。

算法说明

该算法通过逐步调整相邻元素的顺序,每次仅在前面元素大于后面元素时交换(相等时不交换,保证稳定性),经过5次固定的比较操作,确保4个元素最终有序。交换次数最多为5次(每次比较都触发交换的最坏情况),完全满足需求。

内容的提问来源于stack exchange,提问作者pts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 01:12:34