c++学习笔记-提高篇-STL标准模板库4(set容器、map容器)

set容器

一、set的基本概念

1.简介:所有元素都会在插入时自动被排序

2.本质:set/multiset属于关联式容器,底层结构是用二叉树实现

3.set和multiset区别

set不允许容器中有重复元素

multiset允许容器中有重复元素

二、set构造和赋值

1.描述:创建set容器以及赋值

2.构造:

  • set<T>st;                // 默认构造函数
  • set(const set &st)   //拷贝构造函数

3.赋值:

  • set& operator=(const set &st)   //重载等号操作符

4.示例

set容器插入数据时用insert

set容器插入数据会自动排序

#include<iostream>
using namespace std;
#include<set>//set容器构造和赋值
void printSet(set<int>s)
{for (set<int>::iterator it = s.begin(); it != s.end(); it++){cout << *it << "  ";}cout << endl;
}void test01()
{set<int>s1;s1.insert(10);s1.insert(40);s1.insert(20);s1.insert(30);s1.insert(30);s1.insert(30);//遍历容器//set容器的特点,所有元素被插入的时候会自动排序//set容器不允许插入重复的值printSet(s1);//拷贝构造set<int> s2(s1);printSet(s2);//赋值操作set<int> s3;s3 = s2;printSet(s3);}int main()
{test01();system("pause");return 0;
}

三、set大小和交换

1.描述:set容器的大小、是否为空、交换

2.构造:

  • size();                     //返回容器中元素的个数
  • empty();                 //判断容器是否为空
  • swap(st);               //交换两个集合容器

3.示例:

#include<iostream>
#include<set>
using namespace std;
//set容器  大小和交换void printSet(set<int> &s)
{for (set<int>::iterator it = s.begin(); it != s.end(); it++){cout << *it << "  ";}cout << endl;
}//大小
void test01()
{set<int> s1;//插入数据s1.insert(10);s1.insert(30);s1.insert(20);	s1.insert(40);printSet(s1);//判断是否为空if (s1.empty()){cout << "s1为空" << endl;}else{cout << "s1不为空" << endl;cout << "s1的元素大小:" << s1.size()<< endl;}
}//交换
void test02()
{set<int> s1;s1.insert(10);s1.insert(30);s1.insert(20);s1.insert(40);set<int> s2;s2.insert(200);s2.insert(100);s2.insert(400);s2.insert(300);cout << "交换前:" << endl;printSet(s1);printSet(s2);cout << "交换后:" << endl;s1.swap(s2);printSet(s1);printSet(s2);}int main()
{//test01();test02();system("pause");return 0;
}

四、set插入和删除

1.描述:set容器进行插入数据和删除数据

2.构造:

  • insert(elem);                     //在容器中插入元素
  • clear();                              //清除所有元素
  • erase(pos);                       //删除pos迭代器所指向的元素,返回下一个元素的迭代器
  • erase(beg,end);                //删除区间[beg,end]的所有元素,返回下一个元素的迭代器
  • erase(elem);                     // 删除容器中值为elem的元素

3.示例:

#include<iostream>
using namespace std;
#include<set>
#include<vector>//set容器的插入和删除void printSet(set<int> &s)
{for (set<int>::iterator it = s.begin(); it != s.end(); it++){cout << *it << "  ";}cout << endl;
}void test01()
{set<int>s1;//插入s1.insert(20);s1.insert(10);s1.insert(40);s1.insert(30);//遍历printSet(s1);//删除s1.erase(s1.begin());printSet(s1);//删除重载版本s1.erase(30);printSet(s1);//清空//s1.erase(s1.begin(),s1.end());s1.clear();printSet(s1);}	int main()
{test01();system("pause");return 0;
}

五、set容器查找和统计

1.描述:对set容器进行查找数据以及统计数据

2.构造:

  • find(key);    //查找key是否存在,若存在,返回该元素的迭代器;若不存在,返回set.end()
  • count(key); //统计key的元素个数

3.示例:

#include<set>
#include<iostream>
using namespace std;
//set容器查找和统计
void test01()
{//查找set<int>s1;//插入数据s1.insert(30);s1.insert(20);s1.insert(10);s1.insert(40);set<int>::iterator pos = s1.find(40);if (pos != s1.end())  //s1.end()指向最后一个元素的下一个位置{cout << "找到元素:" << *pos << endl;}else{cout << "未找到元素" << endl;}//对于set而言,统计结果不是0就是1//对于multiset而言,统计结果大于1	
}//统计
void test02()
{set<int> s1;s1.insert(10);s1.insert(20);s1.insert(30);s1.insert(10);int num = s1.count(100);cout << "统计nus = " << num << endl;
}int main()
{test02();system("pause");return 0;
}

注意:   count 对于set而言,统计结果不是0就是1;对于multiset而言,统计结果大于1

六、set和multiset的区别

1.区别:

  • set不可以插入重复数据,而multiset可以
  • set插入数据的同时会返回插入结果,表示插入是否成功
  • multiset不会检测数据,因此可以重复插入

2.示例:

#include<iostream>
#include<set>
using namespace std;//set容器和multiset容器的区别
void test01()
{set <int>s;pair<set<int>::iterator, bool> ret = s.insert(10);if (ret.second){cout << "第一次插入成功" << endl;}else{cout << "第一次插入失败" << endl;}pair<set<int>::iterator,bool> ret2 = s.insert(10);if (ret2.second){cout << "第二次插入成功" << endl;}else{cout << "第二次插入失败" << endl;}multiset<int>s1;//允许插入重复值s1.insert(20);s1.insert(20);for (multiset<int>::iterator it = s1.begin(); it != s1.end(); it++){cout << *it << endl;}cout << endl;
}int main()
{test01();system("pause");return 0;
}

七、pair对组创建

1.功能描述:成对出现的数据,利用对组可以返回两个数组

2.两种创建方式:

  • pair<type,type> p(value1,value2)
  • pair<type,type> p = make_pair(value1,value2)

3.示例

#include<string>
#include<iostream>
using namespace std;//pair对组的创建
void test01()
{//第一种方式pair<string, int> p("Tom", 20);cout << "姓名:" << p.first << "   年龄:" << p.second << endl;pair<string, int> p2 = make_pair("Jerry", 30);cout << "姓名:" << p2.first << "   年龄:" << p2.second << endl;}int main()
{test01();system("pause");return 0;
}

 八、set容器排序

1.学习目标:

  • set容器默认排序规则为从小到大,掌握如何改进排序规则

2.主要技术点:

  • 利用仿函数,可以改变排序规则 

3.示例一:set存放内置数据类型

#include<iostream>
#include<set>
using namespace std;//set容器排序class MyCompare
{
public:bool operator()(int v1, int v2) const{return v1 > v2;}
};void test01()
{set<int>s1;s1.insert(10);s1.insert(40);s1.insert(20);s1.insert(50);s1.insert(30);for (set<int>::iterator it = s1.begin(); it != s1.end(); it++){cout << *it << "  ";}cout << endl;//指定排序规则为从大到小set<int, MyCompare>s2;s2.insert(10);s2.insert(40);s2.insert(20);s2.insert(50);s2.insert(30);for (set<int, MyCompare>::iterator it = s2.begin(); it != s2.end(); it++){cout << *it << "  ";}cout << endl;
}int main()
{test01();system("pause");return 0;
}

注意仿函数中,operator()重载“()”时需要加const
class MyCompare
{
public:
    bool operator()(int v1, int v2) const
    {
        return v1 > v2;
    }
};
没加const报错的原因:通过在 operator() 函数后加上 const 修饰符,你告诉编译器这个函数不会修改对象的状态,因此可以在 const 对象上调用。这样应该能够解决与 C3848 错误相关的问题。

总结:利用仿函数指定set容器的排序规则

4.示例二:set存放自定义数据类型

#include<iostream>
#include<set>
#include<string>
using namespace std;//set容器排序,存放自定义数据类型
class Person
{
public:Person(string name,int age){this->m_Name = name;this->m_Age = age;}string m_Name;int m_Age;
};class comparePerson
{
public:bool operator()(const Person & p1, const Person & p2) const{//按照年龄降序return p1.m_Age > p2.m_Age;}
};void test01()
{//自定义的数据类型  都会指定排序规则set<Person,comparePerson> s1;//创建Person对象Person p1("刘备", 24);Person p2("张飞", 14);Person p3("关羽", 50);Person p4("Jerry", 28);Person p5("Tom", 39);s1.insert(p1);s1.insert(p2);s1.insert(p3);s1.insert(p4);s1.insert(p5);for (set<Person, comparePerson>::iterator it = s1.begin(); it != s1.end(); it++){cout << "姓名:" << it->m_Name << "  年龄:" << it->m_Age << endl;}
}int main()
{test01();system("pause");return 0;
}

map容器

一、map的基本概念

1.简介:

  • map中所有元素都是pair
  • pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)
  • 所有元素都会根据元素的键值自动排序

2.本质:

  • map/multimap属于关联式容器,底层结构是二叉树

3.优点:

  • 可以根据key值快速查找到value值

4.map/multimap区别

  • map不允许容器中有重复key值元素
  • multimap允许容器有重复key值元素

二、map构造和赋值

1.功能描述:对map容器进行构造和赋值操作

2.函数原型:

构造:

  • map<T1,T2> mp;    //map默认构造
  • map(const map &mp);    //拷贝构造函数

赋值:

  • mp& operator = (const map &mp)   //重载等号运算符

3.示例:

#include<iostream>
#include<map>
using namespace std;//map容器  构造和赋值
void printMap(map<int, int>& m)
{for (map<int, int>::iterator it = m.begin(); it != m.end(); it++){cout << "key = " << (*it).first << "   value = " << it->second << endl;}cout << endl;
}void test01()
{//创建map容器map<int, int> m;m.insert(pair<int, int>(1, 10));m.insert(pair<int, int>(2, 30));m.insert(pair<int, int>(3, 30));printMap(m);//拷贝构造map<int, int>m2(m);printMap(m2);//赋值map<int, int>m3;m3 = m2;printMap(m3);
}int main()
{test01();system("pause");return 0;
}

总结:map中所以元素是成对出现,插入数据时要使用对组

二、map容器大小和交换

1.功能描述:统计map容器大小以及交换map容器

2.函数原型

  • size();        //返回容器中元素的数目
  • empty();    //判断容器是否为空
  • swap();     //交换两个集合

3.示例:

#include<iostream>
#include<map>
using namespace std;//map容器  大小和交换void printMap(map<int, int>& m)
{for (map<int, int>::iterator it = m.begin(); it != m.end(); it++){cout << "k = " << it->first << "  value" << it->second << endl;}cout << endl;
}void test01()
{//大小map<int, int> m;m.insert(pair<int, int>(1, 10));m.insert(pair<int, int>(4, 30));m.insert(pair<int, int>(3, 20));if (m.empty()){cout << "m为空" << endl;}else{cout << "m不为空" << endl;cout << "m大小:" << m.size() << endl;cout << "m内容:" << endl;printMap(m);}
}void test02()
{map<int, int> m;//for (int i = 1; i < 4; i++)//{//	m.insert(pair<int, int>(i, i*10));//}//printMap(m);m.insert(pair<int, int>(1, 10));m.insert(pair<int, int>(3, 30));m.insert(pair<int, int>(2, 20));map<int, int>m2;m2.insert(pair<int, int>(4, 40));m2.insert(pair<int, int>(6, 60));m2.insert(pair<int, int>(3, 80));cout << "交换前:" << endl;cout << "m:" << endl;printMap(m);cout << "m2:" << endl;printMap(m2);cout << "-------------------------------" << endl;swap(m, m2);cout << "交换后:" << endl;cout << "m:" << endl;printMap(m);cout << "m2:" << endl;printMap(m2);}int main()
{//test01();test02();system("pause");return 0;
}

三、map容器插入和删除

1.功能描述:map容器进行插入数据和删除数据‘

2.函数原型:

  • insert(elem);    //在容器中插入元素
  • clear();             // 清除所以元素
  • erase(pos);      //删除pos迭代器所指的元素,返回下一个元素的迭代器
  • erase(beg,end);      //删除(beg,end)区间的元素,返回下一个元素的迭代器
  • erase(key);            //删除key值和其元素

3.示例:

#include<iostream>
#include<map>
using namespace std;void printMap(map<int, int>& m)
{for (map<int, int>::iterator it = m.begin(); it != m.end(); it++){cout << "key = " << it->first << "  value = " << it->second << endl;}cout << endl;
}void test01()
{map<int, int>m;//插入//第一种m.insert(pair<int, int>(1, 10));//第二种m.insert(make_pair(2, 20));//第三种m.insert(map<int, int>::value_type(0, 10));//第四种m[4] = 40;//cout << m[5] << endl;//没有的时候默认插入0printMap(m);//删除m.erase(m.begin());printMap(m);m.erase(2);//按照key删除printMap(m);m.erase(m.begin(),m.end());//清空printMap(m);m.insert(pair<int,int>(0, 33));m.clear();//也是清空printMap(m);
}int main()
{test01();system("pause");return 0;
}

四、map容器查找和统计

1.对map容器进行查找数据以及统计数据

2.函数原型

  • find(key);    //查找key是否存在,返回该键的元素的迭代器;若不存在,返回set.end()
  • count(key);  //统计key出现个数

3.示例:

#include<iostream>
#include<map>
using namespace std;void test01()
{//查找map<int, int>m;m.insert(pair<int, int>(1, 10));m.insert(pair<int, int>(3, 30));m.insert(pair<int, int>(2, 20));map<int, int>::iterator pos = m.find(3);//find返回迭代器if (pos != m.end()){cout << "找到元素key = " << (*pos).first << "  value" << pos->second << endl;}else{cout << "未找到元素" << endl;}//统计   // map不允许插入重复key  对于count统计结果要么0,要么1//multimap允许插入重复key  对于count统计结果可以大于1int num = m.count(3);cout << "num = " << num << endl;multimap<int, int> m2;m2.insert(pair<int, int>(1, 10));	m2.insert(pair<int, int>(1, 10));m2.insert(pair<int, int>(1, 10));int num2 = m2.count(1);cout << "num2 = " << num2 << endl;}int main()
{test01();system("pause");return 0;
}

五、map容器排序

1.学习目标:map容器默认排序规则为  按照key值进行从小到大排序,学习如何改变排序规则

2.技术要点:

  • 利用仿函数,可以改变排序规则

3.示例一:内置数据类型排序

#include<iostream>
#include<map>
using namespace std;class myCompare
{
public:bool operator()(int v1, int v2) const{//降序return v1 > v2;}
};void test01()
{map<int, int>m;m.insert(make_pair(1, 10));m.insert(make_pair(2, 20));m.insert(make_pair(5, 50));m.insert(make_pair(3, 30));m.insert(make_pair(4, 40));cout << "默认从小到大排序:" << endl;for (map<int, int>::iterator it = m.begin(); it != m.end(); it++){cout << "key = " << it->first << "  value" << it->second << endl;}cout << endl;map<int, int, myCompare>m2;m2.insert(make_pair(1, 10));m2.insert(make_pair(2, 20));m2.insert(make_pair(5, 50));m2.insert(make_pair(3, 30));m2.insert(make_pair(4, 40));cout << "改变从大到小排序:" << endl;for (map<int, int, myCompare>::iterator it = m2.begin(); it != m2.end(); it++){cout << "key = " << it->first << "  value" << it->second << endl;}cout << endl;}int main()
{test01();system("pause");return 0;}

3.示例二:自定义数据类型排序

#include<iostream>
#include<map>
using namespace std;class Person
{
public:Person(string name, int age){this->m_Name = name;this->m_Age = age;}string m_Name;int m_Age;
};class myCompare
{
public:bool operator()(int v1, int v2) const{return v1 > v2;}
};void test01()
{map<int, Person> f;Person p1("刘备", 24);Person p2("小阿备", 2); Person p3("关羽", 20);Person p4("小阿飞", 3);f.insert(make_pair(1, p1));f.insert(make_pair(4, p4));f.insert(make_pair(3, p3));f.insert(make_pair(2, p2));cout << "----------默认排序----------" << endl;for (map<int, Person>::iterator it = f.begin(); it != f.end(); it++){cout << "key = " << it->first << "  姓名:" << it->second.m_Name << "  年龄:" << it->second.m_Age << endl;}cout << endl;cout << "----------从大到小排序----------" << endl;map<int, Person, myCompare> f2;  //只能按照key值排序Person p11("刘备", 24);Person p12("小阿备", 2);Person p13("关羽", 20);Person p14("小阿飞", 3);f2.insert(make_pair(1, p11));f2.insert(make_pair(4, p14));f2.insert(make_pair(3, p13));f2.insert(make_pair(2, p12));for (map<int, Person, myCompare>::iterator it = f2.begin(); it != f2.end(); it++){cout << "key = " << it->first << "  姓名:" << it->second.m_Name << "  年龄:" << it->second.m_Age << endl;}cout << endl;
}int main()
{test01();system("pause");return 0;}

总结:自定义数据类型也只能按照key值排序,不能按照Person的年龄排序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/580144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL日期查询 今天、明天、本月、下月、星期、本周第一天、本周最后一天、本周七天日期

文章目录 今天日期明天日期本月第一天本月最后一天下个月第一天当前月已过几天当前月天数当前月所有日期获取星期本周第一天本周最后一天获取本周的七天日期 今天日期 select curdate()明天日期 select DATE_SUB(curdate(),INTERVAL -1 DAY) AS tomorrow本月第一天 select d…

嵌入式——RTC内置实时时钟

学习目标 理解原理图RTC设计部分掌握初始化RTC掌握设置时间掌握读取时间学习内容 RTC原理图 RTC结构框图 RTC时钟 开发流程 加载依赖。gd32f4xx_rtc.c,gd32f4xx_pmu.c初始化RTC。时钟配置。获取时钟。RTC初始化 // 电池管理加载 rcu_periph_clock_enable(RCU_PMU); pmu_back…

C#调用(python通过excel坐标生成的曲面地形图)案例

效果图: 文件图: 详解一:环境和python库问题 1.python 中只需要下载 matplotlib3.8.2和scipy1.11.4 2.我安装的python版本 详解二:解释器问题 python解释器这里有两种形式 第一种形式 1.调用 pycharm项目下的解释器,需要安装python必须的包(命令安装或者搜索安装)。 2.修改…

“一键批量翻译与重命名,轻松将西班牙文件名转换为中文名“

你是否遇到过需要将大量的西班牙文件名翻译成中文名&#xff0c;却无从下手的情况&#xff1f;现在&#xff0c;我们为你带来了一款强大的文件名批量翻译与重命名软件&#xff0c;让你能够轻松完成这项任务&#xff0c;提高工作效率。 首先&#xff0c;进入文件批量改名高手的主…

【数据库】postgressql设置数据库执行超时时间

在这篇文章中&#xff0c;我们将深入探讨PostgreSQL数据库中的一个关键设置&#xff1a;SET statement_timeout。这个设置对于管理数据库性能和优化查询执行时间非常重要。让我们一起来了解它的工作原理以及如何有效地使用它。 什么是statement_timeout&#xff1f; statemen…

第9章-用户分群方法-聚类评估指标

目录 简单例子 轮廓系数 均方根标准差 R-Square ARI 聚类是一种无监督分类算法,通常给定的样本没有类别或标签,聚类结果的好坏难以使用有监督模型的评估方法衡量。聚类评估指标思想在于类簇内的差异尽可能小,也就是紧密度高,而类簇间差异尽可能大,也就是分离…

MEMS麦克风具备哪些优势? MP34DT05TR-A 一款MEMS音频传感器全向数字麦克风

MP34DT05TR-A是一款超紧凑、低功耗、全向数字式 MEMS 麦克风&#xff0c;内置电容式感应元件和 IC 接口。 传感元件能够检测声波&#xff0c;采用专门用来生产音频传感器的硅微加工工艺制造。IC 接口采用 CMOS 工艺制造&#xff0c;允许专用电路设计以 PDM 格式从外部提供数字…

Java自动化测试系列[v1.0.0][常见页面操作处理附源码]

[控制滚动] package util; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement;public class ScrollBarUtil {/*** 控制滚动条向下拉到底* param driver 浏览器驱动*/public static void toBottom…

vue3为什么使用带有 .value 的 ref,而不是普通的变量

前言&#xff1a; 在Vue 3中&#xff0c;使用带有 .value 的 ref 是因为 Vue 3 引入了新的响应式 API&#xff0c;这个 API 被设计为更加明确和强大。在 Vue 2 中&#xff0c;我们使用 data 对象来定义组件的数据&#xff0c;而这些数据会被自动变成响应式的。然而&#xff0c;…

Matlab之State Flow

打开方式 方式一&#xff1a;在命令窗口输入State Flow或者简写sf就能打开&#xff0c;并且会自动打开State Flow 的Library。从左到右分别是图表、真值表、状态转换表、例子、顺序查看&#xff0c;可以加入到Simulink当中。 方式二&#xff1a;从Simulink Library里面添加Sta…

SpringBoot3 应用分析

SpringBoot3-快速入门 1、简介 1. 前置知识 Java17Spring、SpringMVC、MyBatisMaven、IDEA 2. 环境要求 环境&工具版本&#xff08;or later&#xff09;SpringBoot3.0.5IDEA2021.2.1Java17Maven3.5Tomcat10.0Servlet5.0GraalVM Community22.3Native Build Tools0.9.1…

【Java】三甲公立医院综合绩效核算系统源码

医院绩效考核系统&#xff0c;建立以医院发展目标为导向&#xff0c;以医务人员劳动价值、工作量为评价基础&#xff0c;统筹效率、质量、成本的绩效管理和绩效工资分配体系。系统支持RBRVS&#xff08;以资源为基础的相对价值比率&#xff09;和DRGs&#xff08;疾病诊断相关分…

【C++高阶(九)】C++类型转换以及IO流

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; C高阶 1. 前言2. C语言类型转换的方式3. C的强制…

linux下如何完成RPM打包?

以下是在Linux环境下完成RPM打包的详细步骤&#xff1a; 安装必要的工具&#xff1a; 使用以下命令安装rpm-build和rpmdevtools工具包&#xff1a; sudo yum install rpm-build rpmdevtools -y 设置用户环境&#xff1a; 创建一个用于打包的目录结构&#xff0c;这可以通过运行…

什么是微服务架构以及落地思路

文章目录 前言一、各种架构的演进二、微服务架构落地思路 总结 前言 调用几个webapi就是微服务架构&#xff1f;或则是ngnixwebapi 集群就是微服务架构&#xff1f;这个文章带你弄懂微服务架构。 一、各种架构的演进 单体架构&#xff1a;放在一个服务器进程完成全部的后端处理…

Linux6.4、IO基础(整体深入理解文件描述符)

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 前言 本文章将从源码和内核剖析fd&#xff0c;细节和基础部分可以了解&#xff1a; 我们再来提起文件&#xff0c;文件可以分为两类&#xff1a; 磁盘文件 (未被打开)内存文件 (被进程在内存中打开) 同时我们也知道文件描…

logstash收集华为、H3C、Cisco交换机日志

网络设备配置 将 syslog-ip 替换成服务器的IP地址。 Huawei info-center loghost source interface info-center loghost syslog-ip local-time facility local6 H3C info-center loghost source interface info-center loghost syslog-ip facility local5 Aruba logging arm …

OAuth2授权码模式---详解

OAuth2简介 是一个业界标准的授权协议&#xff08;authorization protocol&#xff09;&#xff0c;这里的授权是以委派代理&#xff08;delegation&#xff09;的方式。可以这样理解&#xff0c;OAuth 2.0提供一种协议交互框架&#xff0c;让某个应用能够以安全地方式获取到用…

目标检测-Two Stage-SPP Net

文章目录 前言一、SPP Net 的网络结构和流程二、SPP的创新点总结 前言 SPP Net&#xff1a;Spatial Pyramid Pooling Net&#xff08;空间金字塔池化网络&#xff09; SPP-Net是出自何凯明教授于2015年发表在IEEE上的论文-《Spatial Pyramid Pooling in Deep ConvolutionalNetw…

模具图纸管理系统、模具图纸管理系统有哪些?

模具图纸管理系统是一种用于管理和跟踪模具图纸的软件系统。该系统可以帮助企业有效地组织、管理和分享模具图纸&#xff0c;从而提高生产效率、降低成本和减少错误。 以下是模具图纸管理系统的一些基本功能&#xff1a; 1、文件管理&#xff1a;将模具图纸存储在一个中心化的…