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

冒泡排序算法

[复制链接]

351

主题

341

回帖

2433

积分

管理员

积分
2433
发表于 2025-6-17 21:57:50 | 显示全部楼层 |阅读模式
// Bubble Sort
(*
比较相邻的元素,如果第一个比第二个大,就交换;对每一对相邻元素作同样的操作,从开始第一对到结尾的最后一对;
这步做完后,最后的元素会是最大的数;针对所有的元素重复以上的步骤,直到没有任何一对数字需要比较。
*)
#sort_temp := #Sort_IN;

FOR #i := 1 TO #LEN - 1 DO  // 外循环
    FOR #j := 1 TO #LEN - #i DO  // 内循环,两两比较,找到极值
        IF (#Asc_Des AND #sort_temp[#j] > #sort_temp[#j + 1]) OR (NOT #Asc_Des AND #sort_temp[#j] < #sort_temp[#j + 1]) THEN
            // #sort_temp[#j] > #sort_temp[#j + 1],升序
            #temp := #sort_temp[#j];
            #sort_temp[#j] := #sort_temp[#j + 1];
            #sort_temp[#j + 1] := #temp;
        END_IF;
    END_FOR;
END_FOR;

#Sort_OUT := #sort_temp;


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 12:16 , Processed in 0.040156 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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