基本列表 - MetaTrader 5 库
/********************************************************************
基本列表
List 类模板提供了用于存储有序列表的基本容器
基本数据类型对象。
为了方便起见,List 还提供了堆栈操作的同义词,
这使得使用 List 进行堆栈的代码更加明确,而无需定义另一个类。
/**/ 模板<类型名>班级基本列表 {民众: //构造、销毁、初始化、赋值 基本列表() {} BasicList(BasicList&src) {复制(items,src.items);} ~BasicList() {} 基本列表 操作员=(基本列表&); //访问 时间 操作员[](整数我) {返回获取(i);} T 获取(整数在) {整数c=计数();如果(c>0&&在>=0&&在返回项目[在];}返回 无效的;} T 首先() {整数c=计数();如果(c>0){返回项目[0];}返回 无效的;} T 最后() {整数c=计数();如果(c>0){返回项目[c-1];}返回 无效的;} // 整数 数数() {返回 数组大小(项目);} 整数 查找(T 项){整数c=计数();为了(整数我=0;我 如果(项目==项目[i]) {返回我;}}返回-1;} 空白 打印() {整数c=数组大小(项目);为了(整数我=0;我 打印格式(“%d:%s”,我,(细绳)项目[i]);}} //添加 空白 操作员+=(T 项) {追加(项);} 空白 操作员^=(T 项) {前置(项);} 空白 追加(T 项){整数c=数组大小(项目);增加At(c);项目[c]=项目;} 空白 前置(T 项){IncreaseAt(0);项目[0]=项目;} //删除 空白 操作员-=(T 项) {删除(项);} 空白 操作员~() {删除全部();} 空白 删除(T 项){整数f=查找(项目);如果(f>-1) {ReduceAt(f);}} 空白 删除最后一个() {ReduceAt(数组大小(项目)-1);} 空白 删除第一个() {ReduceAt(0);} 空白 全部删除() {数组自由(项目);} //堆栈接口 T 顶部() {返回最后的();} 空白 推送(T 项目){追加(项目);} T Pop() {T top=Top();删除最后一个();返回顶部;}受保护的: T 项目[]; //服务 空白 减少 (整数); 空白 增加At(整数); 空白 复制(T&dst[],T&src[]) {整数c=数组大小(来源);数组调整大小(夏令时,c);为了(整数我=0;我
/******************************************************************** Mql 不允许在一个模板中操作指针和基本类型, 因此,对于所有内置类型和用户类型来说,一个具有指针控制的通用列表是不可能的。 这就是为什么我为基本类型制作了一个独立的模板List。 可用的运算符: [索引] 获取, 例如。 T var=列表[3]; += 附加, 例如。列表+=var; ^= 前置, 例如。列表^=var; -= 删除, 例如。列表-=var; ~ 删除全部, 例如。 〜列表; = 复制列表, 例如。 T 列表A=列表B; //A-新的,B-现有的 /**/
/******************************************************************** BasicList 使用示例 /********************************************************************/ 空白 启动时() { 基本列表<细绳>列表; /**/ 列表+=“担心”; //附加 列表+=“要开心”; //附加 列表。打印(); //查看输出 /**/ {细绳s;为了(整数我=0;我<10; i++) {s+=“-”;}打印(s);} /**/ 列表^=“不”; //消除 基本列表<细绳>列表2=列表; //复制列表 列表2。打印(); //查看输出 /**/ {细绳s;为了(整数我=0;我<10; i++) {s+=“-”;}打印(s);} /**/ 〜列表; //清理列表 打印(list2.Pop()); //流行音乐 /**/ {细绳s;为了(整数我=0;我<10; i++) {s+=“-”;}打印(s);} /**/ 列表2。打印(); //查看输出 }/******************************************************************** 输出: /** 0:担心 1:要快乐 ---------- 0:不 1:担心 2:要快乐 ---------- 开心一点 ---------- 0:不 1:担心 /**/
附件下载
📎 basiclist.mq5 (2.27 KB)
📎 basiclist.mqh (3.45 KB)
Source: MQL5 #29780
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
