FBASIC Algorithm Visualization
快速排序 · FBASIC 可视化
左侧 FBASIC 代码逐行执行,右侧实时展示数组 A 的 10 个数字位置变化。每一轮选取基准值(Pivot),把小于基准的元素移到左侧、大于基准的移到右侧,再对左右两个子区间递归执行同样的划分,直到整个数组有序。
FBASIC 代码
READY程序输出
数组 A 可视化
READY
比较次数: 0
交换次数: 0
执行步数: 0
LO = -
HI = -
I = -
J = -
P = -
比较中
基准值
当前区间
交换中
已就位
未处理
算法说明
快速排序:子程序(行 200-330)对区间 A(LO) 到 A(HI) 进行划分。取最右端 A(HI) 为基准 P,用 I 标记小于区边界,J 从左向右扫描:遇到小于基准的元素就与 A(I) 交换。扫描结束后把基准换到 I 的位置,基准左侧都小于它、右侧都大于它,基准元素就此就位。随后通过嵌套 GOSUB 递归处理左右两个子区间(行 340-380),直到所有元素有序。
评论与讨论
评论保存在 GitHub Issues,登录 GitHub 后即可参与讨论。
评论暂未开放,站点管理员尚未配置 GitHub OAuth。
前往 GitHub Issues