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

快速排序算法

[复制链接]

351

主题

341

回帖

2433

积分

管理员

积分
2433
发表于 2025-6-17 21:58:50 | 显示全部楼层 |阅读模式
// Quick Sort
(*
从数列中挑出一个元素,称为 "基准"(pivot);
重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面;
递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
*)

IF #Low < #High THEN
    #PivotPos := "Partition"(asc:=#Asc_Des, low := #Low, high := #High, ARR := #Sort_Arr);
    "74_快速排序算法"(Asc_Des:=#Asc_Des,    // 递归调用
                Low := #Low,
                High := #PivotPos - 1,
                Sort_Arr := #Sort_Arr);
    "74_快速排序算法"(Asc_Des:=#Asc_Des,
                Low := #PivotPos + 1,
                High := #High,
                Sort_Arr := #Sort_Arr);
END_IF;


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 08:27 , Processed in 0.039123 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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