找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 30|回复: 0

归并排序算法

[复制链接]

351

主题

341

回帖

2433

积分

管理员

积分
2433
发表于 2025-6-17 21:59:29 | 显示全部楼层 |阅读模式
// Merge Sort
(*
先将数组序列对半拆分,直到子序列拆分成只有单个元素;
然后对单个元素,两两比较大小排序,再逐一合并成更长的序列。
*)

IF #Start < #End THEN  // 拆分成单个元素
    #Mid := (#Start + #End) / 2;   // 对半拆分
    // 递归调用
    "76_归并排序算法"(Asc_Des := #Asc_Des,
                Start := #Start,
                End := #Mid,
                Sort_Arr := #Sort_Arr);
    "76_归并排序算法"(Asc_Des := #Asc_Des,
                Start := #Mid + 1,
                End := #End,
                Sort_Arr := #Sort_Arr);
    // 序列合并
    "Merge"(asc := #Asc_Des,
            start := #Start,
            mid := #Mid,
            end := #End,
            ARR := #Sort_Arr);
END_IF;


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|笔记

GMT+8, 2025-7-7 12:50 , Processed in 0.043057 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表