递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 8471|回复: 19
打印 上一主题 下一主题

[视窗] 内存数组如何造?再才能有易语言的数组排序一样快??

[复制链接]

53

主题

628

帖子

2662

积分

禁止发言

积分
2662
跳转到指定楼层
楼主
发表于 2023-11-25 21:02:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

18

主题

347

帖子

3091

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3091
沙发
发表于 2023-11-25 21:55:49 来自手机 | 只看该作者
随便都易语言的快好几倍吧,你要排序什么类型的数组?
回复

使用道具 举报

18

主题

347

帖子

3091

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3091
板凳
发表于 2023-11-25 21:56:12 来自手机 | 只看该作者
随便都比易语言的快好几倍吧
回复

使用道具 举报

53

主题

628

帖子

2662

积分

禁止发言

积分
2662
地板
 楼主| 发表于 2023-11-25 22:00:24 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

18

主题

347

帖子

3091

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3091
5#
发表于 2023-11-25 22:10:12 | 只看该作者
呵呵仙8 发表于 2023-11-25 22:00
变整数的数组排序就OK了!!很多时候就是交换指针的多.也不知是不是自己算法有问题!还是套娃造成的慢!!苦恼 ...


回复

使用道具 举报

18

主题

347

帖子

3091

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3091
6#
发表于 2023-11-25 22:11:09 | 只看该作者
直接用标准库的排序,性能应该是最高的
回复

使用道具 举报

53

主题

628

帖子

2662

积分

禁止发言

积分
2662
7#
 楼主| 发表于 2023-11-25 22:25:15 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

18

主题

347

帖子

3091

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3091
8#
发表于 2023-11-25 22:30:12 来自手机 | 只看该作者
火山数组类的速度排序速度很慢的,自己写个快排都比火山数组类快,用std::sort是最快的

评分

参与人数 1金钱 +5 收起 理由
呵呵仙8 + 5 很给力!谢谢!

查看全部评分

回复

使用道具 举报

28

主题

2091

帖子

7633

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7633
9#
发表于 2023-11-25 22:34:19 | 只看该作者
呵呵仙8 发表于 2023-11-25 22:25
的确用火山数组类能快200毫秒!!但是,火山的数组类不能被第三使用,还是构造内存数组!
...

数组类为什么不能被第三方使用?传"取数组指针"的返回值就行了啊。
数组类实测比易语言慢,要快还是用 std::sort

<火山程序 类型 = "通常" 版本 = 1 />

方法 STD排序 <公开 静态 折叠 @嵌入式方法 = "">
参数 数组指针 <类型 = 变整数 注释 = "数值型数组类请提供\"取数组指针\"的返回值;" 注释 = "通用数值型数组请用\"取数组变量地址\".">
参数 数组成员数 <类型 = 整数>
参数 成员类型 <注释 = "提供数组成员的类型,比如: 整数、长整数等" @需求类型 = 数据类型 @匹配类型 = 通用数值型>
参数 从小到大排序 <类型 = 逻辑型 注释 = "为真表示从小到大进行排序,为假表示从大到小进行排序." @默认值 = 真>
{
    @ [](@<成员类型>* data, int size) {
    @     if (@<从小到大排序>)
    @         std::sort(data, data + size);
    @     else
    @         std::sort(data, data + size, [](@<成员类型>& lhs, @<成员类型>& rhs) { return lhs > rhs; });
    @ } ((@<成员类型>*)@<数组指针>, @<数组成员数>)
}

评分

参与人数 1金钱 +5 收起 理由
呵呵仙8 + 5 很给力!谢谢!

查看全部评分

回复

使用道具 举报

53

主题

628

帖子

2662

积分

禁止发言

积分
2662
10#
 楼主| 发表于 2023-11-25 23:26:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-3-13 05:48 , Processed in 0.105316 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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