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

新疆网app厦门seo网站优化

新疆网app,厦门seo网站优化,WordPress连接云储存,网站制作软件大全动态数组 有些时候想开一个数组,但是却不知道应该开多大长度的数组合适,因为我们需要用到的数组可能会根据情况变动。 这时候我们就需要用到动态数组。所谓动态数组,也就是不定长数组,数组的长度是可以根据我们的需要动态改变的。…

在这里插入图片描述

动态数组

有些时候想开一个数组,但是却不知道应该开多大长度的数组合适,因为我们需要用到的数组可能会根据情况变动。
这时候我们就需要用到动态数组。所谓动态数组,也就是不定长数组,数组的长度是可以根据我们的需要动态改变的。动态数组的实现也不难,但是在C++里面有已经写好的标准模板库(Standard Template Library),就是我们常说的STL库
实现了集合、映射表、栈、队列等数据结构和排序、查找等算法。我们可以很方便地调用标准库来减少我们的代码量。
C++中动态数组写作vector,C语言中没有标准库,这也是为什么参加比赛推荐用C++而不用C的原因。

引用库

C++中vector的实现在一个< vector >头文件中,在代码开头引入这个头文件,并在引入所有头文件之后加上一
句using namespace std

#include<vector>
using namespace std;
int main(){return 0;
}

构造一个动态数组

现在我们来构造一个动态数组。
C++中直接构造一个vector的语句为:vector< T > vec。这样我们定义了一个名为vec的储存T类型数据的动态数组。其中T是我们数组要储存的数据类型,可以是int、floot、double、或者其他自定义的数据类型等等。初始的时候vec是空的。
比如vector < int > a定义了一个储存整数的动态数组a。

插入元素

C++中通过push_back()方法在数组最后面插入一个新的元素。

#include<vector>
using namespace std;
int main(){vector<int> vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[2,2]vec.push_back(3);//[1,2,3]return 0;
}

获取长度并且访问元素

C++中通过size()方法获取vector的长度,通过[ ]操作直接访问vector中的元素,这一点和数组是一样的。

#include<vector>
#include<iostream>
using namespace std;
int main(){vector<int> vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[2,2]vec.push_back(3);//[1,2,3]for(int i=0;i<vec.size();i++){cout<<vec[i]<<endl;}return 0;
}

删除元素

和插入一样,删除元素也只能在动态数组的末端进行操作。C++中通过pop_back()方法删动态数组的最后一个元素

#include<vector>
#include<iostream>
using namespace std;
int main(){vector<int> vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[2,2]vec.push_back(3);//[1,2,3]vec.pop_back();//[1,2]vec.pop_back();//[1]return 0;
}

清空

C++中都只需要调用clear()方法就可清空vector。
C++中vector的clear()只是清空vector,并不会清空开的内存。用一种方法可以清空vector的内存:

// vector<int> v;
vector<int>().swap(v); 

C++ vector 方法总结

在这里插入图片描述

vector的基础使用

首先我们引入需要的头文件vector,在代码头部
写下

#include<vector>

首先我们学习如何使用基础的vector。
在main函数里面通过 vector < int > v来定义一个储存整数的空的vector。当然vector可以存任何类型的数据,
比如vector< string >v等等。用int来举例。在main函数的开头定义一个储存整数的动态数组v

我们把1到10的平方依次储存到刚才定义的vector里面。这里我们需要借助一个循环来完成,循环枚举1到10。

#include<vector>
#include<iostream>
using namespace std;
int main(){
vector<int> 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;
}

在这里插入图片描述

vector 的高级用法

用动态数组储存自定义数据

动态数组不仅仅可以储存基本的数据类型,还能储存自定义数据类型,比如结构体。

struct Student{string name;//名字 int age;//年龄 
};
int main(){vector<Student> class1;//班级Student stu1,stu2;//学生1,学生2stu1.name="xiaohong";stu1.age=12;stu2.name="xiaoming";stu2.age=25;class1.push_back(stu1);class1.push_back(stu2);return 0;
}

构造函数

我们知道可以通过push_back()来向动态数组添加一个元素。如果我们需要一个长度为n的,全是1的动态数组。我们可以像
下面这样写。

int n=10;
vector<int> vec;
for(int i=0;i<n;i++){vec.push_back(1);
}

其实,我们可以通过一个构造函数快速构建这样的一个动态数组。所谓构造函数,就是我们在定义一个对象的时候可以给他赋
予初始值。

int n=10;
vector<int> vec(n,1);

上面的代码,我们在定义一个vector的时候,调用构造函数,第一个参数表示初始的动态数组的长度,第二个参数表示初始的
数组里面每个元素的值。如果不传入第二个参数,那么初始的值都是0

二维动态数组

我们都知道,数组可以开二维的,那么动态数组能用二维的吗?答案当然是肯定的,动态数组也支持二维
的。vector<vector>vec,这样就定义了一个二维的动态数组。注意,< int > >中间有一个空格,这个空格一定要加
上,否则在一些老版本的编译器上将不能通过编译。

通过上面的方法定义的二维数组,每一维都是空的,我们必须要一维一维的赋值。比如我们规定第一维的大小为n。

int n=5;
vector<vector<int> > vec2;
for(int i=0;i<n;i++){vector<int> x(i+1,1);vec2.push_back(x);
}
for(int i=0;i<n;j++){for(int j=0;j<vec2[i].size();i++){cout<<vec2[i][j]<<" ";}cout<<endl;
}

在这里插入图片描述

http://www.ds6.com.cn/news/16011.html

相关文章:

  • 石家庄设计网站公司百度搜索资源平台提交
  • 购物网站怎么做优化代运营公司可靠吗
  • 中国建设银行支付网站快速seo关键词优化技巧
  • 莱芜做网站号码网站优化排名操作
  • 做外贸怎样打开国外网站logo设计
  • 微信的微网站模板下载拓客渠道有哪些
  • 福州专业网站设计团队整站seo优化公司
  • 大地资源在线观看视频在线观看公司seo推广营销网站
  • 网站备案知识做网页用什么软件好
  • 酒店 深圳 网站制作谷歌seo网站排名优化
  • 无锡网站建设电话谷歌seo推广培训班
  • 淘宝里网站建设公司可以吗兴安盟新百度县seo快速排名
  • 购物网站设计湖北网站seo设计
  • 个体工商户做的网站能推广吗哪些平台可以打小广告
  • 做网站上加入模块怎么加入电商网页
  • 科技网站制作比较好用的搜索引擎
  • 专业微网站建设公司首选seo软件简单易排名稳定
  • 网站设计要学什么seo服务合同
  • 网站毕业设计一般做几个页面关键词优化一年的收费标准
  • 山西太原网站建设百度竞价app
  • 怎么样做国际网站生意爱链
  • 美食网站策划书做个电商平台要多少钱
  • 建国外网站买完域名后怎么做网络营销pdf
  • 千助网站公司网络代理app
  • 网站建设 建议seo推广公司价格
  • 白云做网站公司网推
  • 商城平台网站开发深圳百度热线人工服务电话
  • 如何用网站做推广网络宣传策划方案
  • 网站怎么做充值系统营销策划公司 品牌策划公司
  • 用vs2010做网站css关键词优化怎么做