开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2879|回复: 21
打印 上一主题 下一主题
收起左侧

[易源码分享] 易语言鸡尾酒排序动画演示

[复制链接]
结帖率:100% (1/1)
跳转到指定楼层
楼主
发表于 2022-12-19 12:36:32 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   湖北省恩施土家族苗族自治州
源码参照来自: https://blog.csdn.net/zcp528/article/details/106349322   原文介绍
排序过程:

1、先对数组从左到右进行冒泡排序(升序),则最大的元素去到最右端
2、再对数组从右到左进行冒泡排序(降序),则最小的元素去到最左端
3、以此类推,依次改变冒泡的方向,并不断缩小未排序元素的范围,直到最后一个元素结束

轮空的表示跳过,相同数相同位置




易语言鸡尾酒排序动画演示.e

39.78 KB, 下载次数: 26, 下载积分: 精币 -2 枚

screenshots.gif (284.16 KB, 下载次数: 1)

screenshots.gif

点评

感谢分享   福建省宁德市  发表于 2022-12-20 12:16
鸡尾酒名字不错   浙江省温州市  发表于 2022-12-19 16:01

评分

参与人数 9好评 +8 精币 +19 收起 理由
明天自然醒 + 1 + 2 有想法
易语言资源网 + 1 + 3 开源精神必须支持~
远赴 + 1 + 2 YYDS~!
asooo + 1 + 1 支持开源~!感谢分享
小白弟弟 + 1 + 2 开源精神必须支持~
c295553914 + 1 + 2 YYDS~!
冰点 + 1 + 3 感谢分享,很给力!~
陽陽陽 + 1 支持开源~!感谢分享
sinewtec + 1 + 3 精彩文章希望继续努力

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (1/1)

签到天数: 2 天

20
 楼主| 发表于 2025-5-4 09:21:23 | 只看该作者   湖北省恩施土家族苗族自治州
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
延时时间整数型  
临时标签数组标签0 

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
延时时间 = 20
子程序名返回值类型公开备 注
_按钮_开始_被单击  
变量名类 型静态数组备 注
循环计数整数型 
目标索引整数型 
左边界整数型 
临时值整数型 
右边界整数型 
内层循环计数整数型 
数组整数型0
起始X整数型 
起始Y整数型 
目标X整数型 
目标Y整数型 
方向标志逻辑型 
数组索引整数型 
如果真 (按钮_开始.标题 = “开始”)
' 清除上次的标签
清除临时标签 ()
' 初始化
按钮_开始.标题 = “排序中”
清除数组 (数组)
取随机不重复数 (20, 数组)
重定义数组 (临时标签数组, 假, 20)
计次循环首 (取数组成员数 (数组), 数组索引)
复制窗口组件 (标签_集, 临时标签数组 [数组索引])
临时标签数组 [数组索引].可视 = 真
临时标签数组 [数组索引].标题 = 到文本 (数组 [数组索引])
临时标签数组 [数组索引].移动 (数组索引 × 31 - 27, 标签_集.顶边, 30, 30)
计次循环尾 ()
调试输出 (数组, “转换前”)
左边界 = 1
右边界 = 取数组成员数 (数组)
计次循环首 (取数组成员数 (数组), 循环计数)
如果 (方向标志 = )
目标索引 = 左边界
临时值 = 数组 [目标索引]
变量循环首 (左边界 + 1, 右边界, 1, 内层循环计数)
如果真 (临时值 > 数组 [内层循环计数])
临时值 = 数组 [内层循环计数]
目标索引 = 内层循环计数

变量循环尾 ()
如果真 (数组 [左边界] ≠ 数组 [目标索引])
调试输出 (数组, 循环计数, 数组 [左边界], 数组 [目标索引], “---->”)
起始X = 临时标签数组 [左边界].左边
起始Y = 临时标签数组 [左边界].顶边
目标X = 临时标签数组 [目标索引].左边
目标Y = 临时标签数组 [目标索引].顶边
如果真 (单个.选中)
单个移动特效 (临时标签数组 [左边界], 起始X, 起始Y, 目标X, 目标Y, 1)
单个移动特效 (临时标签数组 [目标索引], 目标X, 目标Y, 起始X, 起始Y, -1)

如果真 (同时.选中)
同时移动特效 (临时标签数组 [左边界], 起始X, 起始Y, 目标X, 目标Y, 1, 临时标签数组 [目标索引], 目标X, 目标Y, 起始X, 起始Y, -1)
交换变量 (临时标签数组 [左边界], 临时标签数组 [目标索引])
交换变量 (数组 [左边界], 数组 [目标索引])
左边界 = 左边界 + 1
目标索引 = 右边界
临时值 = 数组 [目标索引]
变量循环首 (右边界 - 1, 左边界, -1, 内层循环计数)
如果真 (临时值 < 数组 [内层循环计数])
临时值 = 数组 [内层循环计数]
目标索引 = 内层循环计数

变量循环尾 ()
如果真 (数组 [右边界] ≠ 数组 [目标索引])
调试输出 (数组, 循环计数, 数组 [右边界], 数组 [目标索引], “<----”)
起始X = 临时标签数组 [右边界].左边
起始Y = 临时标签数组 [右边界].顶边
目标X = 临时标签数组 [目标索引].左边
目标Y = 临时标签数组 [目标索引].顶边
如果真 (单个.选中)
单个移动特效 (临时标签数组 [右边界], 起始X, 起始Y, 目标X, 目标Y, 1)
单个移动特效 (临时标签数组 [目标索引], 目标X, 目标Y, 起始X, 起始Y, -1)
如果真 (同时.选中)
同时移动特效 (临时标签数组 [右边界], 起始X, 起始Y, 目标X, 目标Y, 1, 临时标签数组 [目标索引], 目标X, 目标Y, 起始X, 起始Y, -1)
交换变量 (数组 [右边界], 数组 [目标索引])
交换变量 (临时标签数组 [右边界], 临时标签数组 [目标索引])
右边界 = 右边界 - 1
方向标志 = 取反 (方向标志)
计次循环尾 ()
' 排序结束
调试输出 (数组, “转换后”)
按钮_开始.标题 = “开始”

子程序名返回值类型公开备 注
清除临时标签  
变量名类 型静态数组备 注
数组索引整数型 
计次循环首 (取数组成员数 (临时标签数组), 数组索引)
临时标签数组 [数组索引].销毁 ()
计次循环尾 ()
处理事件 ()
清除数组 (临时标签数组)
子程序名返回值类型公开备 注
单个移动特效 平滑移动动画
参数名类 型参考可空数组备 注
标签标签
起始X整数型
起始Y整数型
目标X整数型
目标Y整数型
垂直偏移方向整数型
变量名类 型静态数组备 注
总帧数整数型 
当前帧数整数型 
垂直偏移量整数型 
水平移动总帧数整数型 
垂直移动总帧数整数型 
每帧水平移动量小数型 
每帧垂直移动量小数型 
总帧数 = 30  ' 动画总帧数
垂直移动总帧数 = 10  ' 垂直移动阶段帧数
水平移动总帧数 = 10  ' 水平移动阶段帧数
垂直偏移量 = 30
标签.背景颜色 = #紫色
' 垂直移动阶段(上移或下移)
当前帧数 = 0
每帧垂直移动量 = 垂直偏移量 ÷ 垂直移动总帧数
计次循环首 (垂直移动总帧数, )
当前帧数 = 当前帧数 + 1
标签.移动 (起始X, 起始Y + 垂直偏移方向 × 每帧垂直移动量 × 当前帧数, , )
处理事件 ()
延时 (延时时间)
计次循环尾 ()
' 水平移动阶段
当前帧数 = 0
每帧水平移动量 (目标X - 起始X) ÷ 水平移动总帧数
计次循环首 (水平移动总帧数, )
当前帧数 = 当前帧数 + 1
标签.移动 (起始X + 每帧水平移动量 × 当前帧数, 起始Y + 垂直偏移方向 × 垂直偏移量, , )
处理事件 ()
延时 (延时时间)
计次循环尾 ()
' 垂直反向移动阶段(下移或上移)
当前帧数 = 0
计次循环首 (垂直移动总帧数, )
当前帧数 = 当前帧数 + 1
标签.移动 (目标X, 目标Y + 垂直偏移方向 � (垂直偏移量 - 每帧垂直移动量 × 当前帧数), , )
处理事件 ()
延时 (延时时间)
计次循环尾 ()
标签.背景颜色 = #天蓝
子程序名返回值类型公开备 注
同时移动特效  
参数名类 型参考可空数组备 注
标签1标签
起始X1整数型
起始Y1整数型
目标X1整数型
目标Y1整数型
垂直偏移方向1整数型
标签2标签
起始X2整数型
起始Y2整数型
目标X2整数型
目标Y2整数型
垂直偏移方向2整数型
变量名类 型静态数组备 注
总帧数整数型 
当前帧数整数型 
垂直偏移量整数型 
水平移动总帧数整数型 
垂直移动总帧数整数型 
每帧水平移动量1小数型 
每帧垂直移动量1小数型 
每帧水平移动量2小数型 
每帧垂直移动量2小数型 
总帧数 = 30  ' 动画总帧数
垂直移动总帧数 = 10  ' 垂直移动阶段帧数
水平移动总帧数 = 10  ' 水平移动阶段帧数
垂直偏移量 = 30
标签1.背景颜色 = #紫色
标签2.背景颜色 = #紫色
' 垂直移动阶段(上移或下移)
当前帧数 = 0
每帧垂直移动量1 = 垂直偏移量 ÷ 垂直移动总帧数
每帧垂直移动量2 = 垂直偏移量 ÷ 垂直移动总帧数
计次循环首 (垂直移动总帧数, )
当前帧数 = 当前帧数 + 1
标签1.移动 (起始X1, 起始Y1 + 垂直偏移方向1 × 每帧垂直移动量1 × 当前帧数, , )
标签2.移动 (起始X2, 起始Y2 + 垂直偏移方向2 × 每帧垂直移动量2 × 当前帧数, , )
处理事件 ()
延时 (延时时间)
计次循环尾 ()
' 水平移动阶段
当前帧数 = 0
每帧水平移动量1 (目标X1 - 起始X1) ÷ 水平移动总帧数
每帧水平移动量2 (目标X2 - 起始X2) ÷ 水平移动总帧数
计次循环首 (水平移动总帧数, )
当前帧数 = 当前帧数 + 1
标签1.移动 (起始X1 + 每帧水平移动量1 × 当前帧数, 起始Y1 + 垂直偏移方向1 × 垂直偏移量, , )
标签2.移动 (起始X2 + 每帧水平移动量2 × 当前帧数, 起始Y2 + 垂直偏移方向2 × 垂直偏移量, , )
处理事件 ()
延时 (延时时间)
计次循环尾 ()
' 垂直反向移动阶段(下移或上移)
当前帧数 = 0
计次循环首 (垂直移动总帧数, )
当前帧数 = 当前帧数 + 1
标签1.移动 (目标X1, 目标Y1 + 垂直偏移方向1 � (垂直偏移量 - 每帧垂直移动量1 × 当前帧数), , )
标签2.移动 (目标X2, 目标Y2 + 垂直偏移方向2 � (垂直偏移量 - 每帧垂直移动量2 × 当前帧数), , )
处理事件 ()
延时 (延时时间)
计次循环尾 ()
标签1.背景颜色 = #天蓝
标签2.背景颜色 = #天蓝
子程序名返回值类型公开备 注
取随机不重复数 n个(1 - 99随机数)调用   取随机不重复数 (N个, 加入编辑框
参数名类 型参考可空数组备 注
数量整数型
返回数组整数型
变量名类 型静态数组备 注
计数整数型 
临时数组整数型0
随机索引整数型 
计次循环首 (99, 计数)
加入成员 (临时数组, 计数)
计次循环尾 ()
计次循环首 (数量, )
随机索引 = 取随机数 (1, 取数组成员数 (临时数组))
加入成员 (返回数组, 临时数组 [随机索引])
删除成员 (临时数组, 随机索引, 1)
计次循环尾 ()
子程序名返回值类型公开备 注
__启动窗口_将被销毁  
_启动窗口.销毁 ()


i支持库列表   支持库注释   
spec特殊功能支持库
     修改版

易语言鸡尾酒排序动画演示2-hh1.e

43.7 KB, 下载次数: 1, 下载积分: 精币 -2 枚

22.gif (912.05 KB, 下载次数: 0)

22.gif
回复 支持 反对

使用道具 举报

签到天数: 2 天

19
发表于 2024-6-3 16:06:05 | 只看该作者   广东省广州市
感谢 学习了~~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

18
发表于 2023-1-30 17:38:32 | 只看该作者   河南省新乡市
支持一下
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 1 天

17
发表于 2022-12-29 11:12:33 | 只看该作者   浙江省宁波市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:92% (12/13)

签到天数: 18 天

16
发表于 2022-12-28 21:25:45 | 只看该作者   湖北省咸宁市
八错八错~
回复 支持 反对

使用道具 举报

结帖率:71% (10/14)

签到天数: 23 天

15
发表于 2022-12-27 00:47:20 | 只看该作者   安徽省合肥市
八错八错~
回复 支持 反对

使用道具 举报

签到天数: 5 天

14
发表于 2022-12-22 18:42:36 | 只看该作者   湖南省岳阳市
鸡尾酒名字不错
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
13
发表于 2022-12-22 10:21:26 | 只看该作者   四川省成都市
鸡尾酒名字不错
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)
12
发表于 2022-12-21 22:46:10 | 只看该作者   广东省深圳市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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