当前位置: 首页 > news >正文

快设计网站官网互联网高端官网

快设计网站官网,互联网高端官网,广州排前三的seo公司,免费个人简历模板在线编辑常用STL #x1f388;1.动态数组#x1f388;2.vector的基础使用#x1f52d;2.1引入库#x1f52d;2.2构造一个动态数组#x1f52d;2.3插入元素#x1f52d;2.4获取长度并且访问元素#x1f52d;2.5修改元素#x1f52d;2.6删除元素#x1f52d;2.7清空 #x1f38… 常用STL 1.动态数组2.vector的基础使用2.1引入库2.2构造一个动态数组2.3插入元素2.4获取长度并且访问元素2.5修改元素2.6删除元素2.7清空 3.vector的基础应用3.1例题一 4.用动态数组存储自定义数据4.1二维的动态数组 1.动态数组 有些时候想开一个数组但是却不知道要开多大长度的数组合适因此我们需要用到的数组可能会根据情况变动。这时候我们就需要用到动态数组。所谓动态数组也就是不定长数组数组的长度是可以根据我们的需要动态改变的。动态数组的实现也不难但是C里面有已经写好的标准模板库Standard Template Library也就是我们常说的STL库实现了集合、映射表、栈、队列等数据结构和排序、查找等算法。我们可以很方便的调用标准库来减少我们的代码量。C中动态数组写作vector。 2.vector的基础使用 2.1引入库 引入库C中vector的实现是在一个vector头文件中在代码的开头引入这个头文件并在引入所有头文件之后加上一句using namespace std; #include vector using namespace std; int main() {return 0; }2.2构造一个动态数组 构造一个动态数组C中直接构造出一个vector的语句为vectorTvec.这样我们定义了一个名为vec的储存T类型数据的动态数组。其中T是我们数组要储存的数据类型可以是int、float、double、或其他自定义的数据类型等等。初始的时候vec是空的。比如vectorinta定义了一个储存整数的动态数组a. 2.3插入元素 C中通过push_back()方法在数组最后面插入一个新的元素。 #include vector using namespace std; int main() {vectorint vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[1,2]vec.push_back(3);//[1,2,3]return 0; } 2.4获取长度并且访问元素 C中通过size()方法获取vector的长度通过[]操作直接访问vector中的元素这一点和数组是一样的。 #include iostream #include vector using namespace std; int main() {vectorint vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[1,2]vec.push_back(3);//[1,2,3]for (int i 0; i vec.size(); i){cout vec[i] endl;}return 0; }2.5修改元素 C中修改vector中的某个元素很简单只需要用给它赋值就好了。 #include iostream #include vector using namespace std; int main() {vectorint vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[1,2]vec.push_back(3);//[1,2,3]vec[1] 3;//[1,3,3]vec[2] 2;//[1,3,2]for (int i 0; i vec.size(); i){cout vec[i] endl;}return 0; }2.6删除元素 和插入一样删除元素也只能在动态数组的末端进行操作。C中通过pop_back()方法删除动态数组的最后一个元素。 #include iostream #include vector using namespace std; int main() {vectorint vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[1,2]vec.push_back(3);//[1,2,3]vec.pop_back();//[1,2]vec.pop_back();//[1]return 0; }2.7清空 C中只需要调用clear()方法就可以清空vector。 C中vector的clear()只是清空vector并不会清空开的内存。用一种方法可以清空vector的内存vectorint().swap(v); 3.vector的基础应用 3.1例题一 题目将1-10的平方依次存储到刚才定义的vector里面。这里我们需要借助一个循环来完成循环枚举1到10并且将这些值输出。 算法 #include iostream #include vector using namespace std; int main() {vectorint v;for (int i 1; i 10; i){v.push_back(i * i);}for (int i 0; i v.size(); i){cout v[i] ;}cout endl;return 0; }4.用动态数组存储自定义数据 ✅动态数组不仅仅可以储存基本的数据类型还能储存自定义数据类型比如结构体。 #include iostream #include vector using namespace std; struct Student {string name;int age; }; int main() {vectorStudent class1;Student stu1, stu2;stu1.name ZHANGSAN;stu1.age 18; stu2.name LISI;stu2.age 19;class1.push_back(stu1);class1.push_back(stu2);return 0; }通过上面的学习我们知道可以通过push_back()来向动态数组添加一个元素。如果我们需要一个长度为n的全是1的动态数组。我们可以像下面这样写 int n 10; vectorint vec; for (int i 0; i n; i) {vec.push_back(1); }✅其实我们可以通过一个构造函数快速构建这样的一个动态数组。所谓构造函数就是在我们定义一个对象的时候可以赋予初始值。 int n 10; vectorint vec(n,1);上面的代码我们定义了一个vector的时候调用构造函数第一个参数表示初识的动态数组的长度第二个参数表示初识数组里面每个元素的值。如果不传入第二个参数那么初始值都是0。 注上面用的构造函数的写法和用循环是等价的通过合理的使用构造函数可以减少代码量。 4.1二维的动态数组 ✅我们都知道数组可以开二维的那么动态数组能用二维的吗答案是肯定的动态数组也支持二维的。vectorvectorint vec2,这样就定义了一个二维的动态数组。注意int 中间有一个空格这个空格一定要加上否则在一些老版的编译器上将不能通过编译。 通过上面的方法定义的二维数组每一维都是空的我们必须要一维一维的赋值。比如我们规定第一维的大小是n。 #include iostream #include vector using namespace std; int main() {int n 5;vectorvectorint vec2;for (int i 0; i n; i){vectorint x(i 1, 1);vec2.push_back(x);}for (int i 0; i n; i){for (int j 0; j vec2[i].size(); j){cout vec2[i][j] ;}cout endl;}cout endl;return 0; }✅二维动态数组的每一维的长度都可以不一样可以是任意形状的借助构造函我们可以快速构造一个n行m列的动态数组每个元素的初始值是0vectorvectorint vec2(n,vectorint(m,0))。 这里我们尝试定义一个二维的储存整数的动态数组v2d接下来我们给第一维赋值第一维的大小为5每个元素是一个一维的vector。我们这里通过vectorint()快速构造一个一维的vector。试写出111~5525的乘法表。 #include iostream #include vector using namespace std; int main() {vectorvectorint v2d;for (int i 0; i 5; i){v2d.push_back(vectorint());}for (int i 0; i v2d.size(); i){for (int j 0; j i; j){v2d[i].push_back((i 1) * (j 1));}}for (int i 0; i v2d.size(); i){for (int j 0; j v2d[i].size(); j){cout i 1 * j 1 v2d[i][j] \t;}cout endl;}return 0; }
http://www.dnsts.com.cn/news/37109.html

相关文章:

  • 支付集成文件放在网站哪里wordpress安装服务器
  • 做视频有赚钱的网站有哪些深圳软件开发培训机构
  • Asp.net网站开发分析amp 网站开发
  • 重庆微信网站代理商广州公司网站制作
  • 站酷设计网站怎样下载图片一个网页大概多少钱
  • 网站关键词几个最好大众的网站建设
  • 网站建设与维护考试卷门户网站开发专业
  • 聊城建网站哪家好免费wordpress申请
  • 东莞企业网站模板建站安康seo
  • js做示爱网站例子网页设计怎么把图片上移
  • 手机网站 扁平化趋势合肥手机网站开发
  • 母婴网站建设前期规划潍坊市做网站
  • 网站建设笔试北京标识设计制作
  • 京东网站建设的目标客户说做网站没效果怎么回答好
  • 用php做的大型网站网站开发的文献
  • 盐城网站建设多少钱关键词分布中对seo有危害的
  • 网站和数据库广东深圳公司
  • 建站系统wordpress下载电影网站制作教程好不好
  • 上海网站建设多少费用无锡网站制作系统
  • 做本地的分类信息网站wordpress 免费主题
  • 查公司的国家网站有哪些中国空间站纪念币
  • 网站建设视频百度云服装库存管理软件
  • 我找别人做的网站现在不管了怎么办企业内网模板
  • 网站怎么销售网页设计师职业认知
  • 做网站构建天津网站建设培训
  • 网站建设中常见问题分析大宗商品交易软件哪个好
  • 网站备案系统登录seo优化师就业前景
  • 汕头网站建设方案开发安徽建设工程信息网上查询
  • o2o网站建设价格台州关键词排名优化
  • 台州电子商务网站建设做号网站吗