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

郑州手机网站建设广东省自然资源厅地址

郑州手机网站建设,广东省自然资源厅地址,天津住房城乡建设网站,php开发的培训网站建设目录 01_vector.cc 02_vector.cc 作业 01STL包括哪些组件#xff1f;各自具有哪些特点#xff1f; 02 序列式容器包括哪些#xff1f;他们之间有哪些异同#xff1f; 03 下面程序有什么错误#xff1f; 04 创建和初始化vector的方法#xff0c;每种都给出一个实例…目录 01_vector.cc 02_vector.cc 作业 01STL包括哪些组件各自具有哪些特点 02 序列式容器包括哪些他们之间有哪些异同 03 下面程序有什么错误 04 创建和初始化vector的方法每种都给出一个实例当然也可以把deque与list写出来 05 如果c1与c2是两个容器下面的比较操作有什么限制if(c1 c2) 06 STL中的std::deque容器的实现原理 07 评委打分的例子要求有五名选手ABCDE10个评委打分去掉最高分和最低分求出每个选手的平均分。 08 编程题从一个 vector 初始化一个 string。 09 题目使用vector打印九九乘法表。 01_vector.cc #include iostream #include vector using std::cout; using std::endl; using std::vector;template class T class vec{ public: private:typedef T* _iterator; }; void test(){/*1*/vectorint num0;/*2*/vectorint num1(10,5);//count same valueint arr[10]{0,1,2,3,4,5,6,7,8,9};/*3*/vectorint num2(arr,arr10);//[0,10)/*4*///copy move/*5*/vectorint num3{4,5,6,3,2,7,3,9};//-----------------------------------//vectorint::iterator itnum1.begin();//未初始化迭代器for(;it!num1.end();it){cout*it ;}coutendl;//-----------------------------------//for(size_t idx;idx!sizeof(arr)/sizeof(arr[0]);idx){coutnum1[idx] ;}coutendl;//-----------------------------------//for(auto ittnum2.begin();itt!num2.end();itt){cout*itt ;}coutendl;//-----------------------------------//for(auto ele: num3){coutele ;}coutendl; }int main(void) {test();return 0; }02_vector.cc #include iostream #include vector #include deque #include list using std::cout; using std::endl; using std::vector; using std::list; using std::deque;template typename Container void display(const Container con){for(auto ele: con){coutele ;}coutendl; } void display_cap(const vectorint con){coutendl;display(con);coutsize::con.size()endl;coutcapacity::con.capacity()endl; }//---------------------------------// //vector 可变数组 template class T class vec{ public:T* data(){return _M_start;} private:T* _M_start; //第一个元素T* _M_finish; //最后一个元素的下一个位置T* _M_end_of_storage; //最后一个空间的下一个位置 }; //---------------------------------// //deque 逻辑连续 物理存储分散 //中控器数组 Map -- 小片段(内部连续) //迭代器不是一个普通类型的指针是一个类对指针的基本功能都做了重载 template class T class _Tp{ private:_Tp* _M_cur;_Tp* _M_first;_Tp* _M_last;/* _Map_pointer _M_node; //和中控器联系 */ }; template class _Tp,class _Alloc class _deque_base{ }; //---------------------------------//void test(){vectorint num3{4,5,6,7,8,9};display(num3);num3.push_back(333);display(num3);num3.pop_back();display(num3);//vector不支持头部插入和删除一端开口//效率——整体前移/后移coutvector first number addrendl;num3;//error _M_tartcout(*num3.begin())endl;cout(num3[0])endl;int *pdatanum3.data();coutpdataendl;vectorint::iterator v_itnum3.begin();v_it;v_it2;cout*v_it *v_itendl;num3.insert(v_it,11);//insert front ,return curdisplay_cap(num3);cout*v_it *v_itendl;/* num3.insert(v_it,10,222);//迭代器失效 invalid pointer */v_itnum3.begin();num3.insert(v_it,10,222);//迭代器失效 invalid pointerdisplay_cap(num3);cout*v_it *v_itendl;v_itnum3.begin();num3.insert(v_it,{666,777,888});display_cap(num3);cout*v_it *v_itendl;v_itnum3.begin();num3.insert(v_it,num3.begin(),num3.end());display_cap(num3);cout*v_it *v_itendl;//insert操作的时候会导致底层发生扩容操作//迭代器还指向老的空间老的空间已经回收了所以//迭代器失效了//解决每次都重新 置位 迭代器coutendlendl;//-----------------------------//listint num2{4,5,6,7,8,9};display(num2);num2.push_back(333);num2.push_front(44444);display(num2);num2.pop_back();num2.pop_front();display(num2);coutlist push anywhereendl;listint::iterator l_itnum2.begin();l_it;/* l_it2; */cout*l_it *l_itendl;num2.insert(l_it,11);//insert front ,return curdisplay(num2);cout*l_it *l_itendl;num2.insert(l_it,3,222);display(num2);cout*l_it *l_itendl;num2.insert(l_it,{666,777,888});display(num2);cout*l_it *l_itendl;num2.insert(l_it,num2.begin(),num2.end());display(num2);cout*l_it *l_itendl;coutendlendl;//-----------------------------//dequeint num1{0,1,2,3,4,5,6,7};display(num1);num1.push_back(333);num1.push_front(44444);display(num1);num1.pop_back();num1.pop_front();display(num1);coutdeque push anywhereendl;dequeint::iterator d_itnum1.begin();d_it;d_it2;cout*d_it *d_itendl;num1.insert(d_it,11);//insert前面一半前移前面一半后面一半后移display(num1);cout*d_it *d_itendl;num1.insert(d_it,3,222);display(num1);cout*d_it *d_itendl;num1.insert(d_it,{666,777,888});display(num1);cout*d_it *d_itendl;num1.insert(d_it,num1.begin(),num1.end());display(num1);cout*d_it *d_itendl;coutendl;}int main(void) {test();return 0; }作业 01STL包括哪些组件各自具有哪些特点 01 容器用来存放数据也是数据结构 02 算法用来实现容器的算法操作 03 迭代器用来访问容器中的成员是广义上的指针也叫泛型指针 04 适配器起到适配的作用 05 函数对象仿函数进行定制化操作 06 空间配置器对空间的申请和释放进行管理 02 序列式容器包括哪些他们之间有哪些异同 01 vector 可变数组 02 deque 双向队列 03 list 双向链表 04 foward_list 单向链表 05 array 数组 内存上array 和 vector是一片连续的空间其余是逻辑上连续物理存储时分散的 实现上vector底层通过三个指针实现分别指向第一个元素的位置最后一个元素的下一个位置最后一个空间的下一个位置 deque的实现依靠  中控器数组Map小片段实现的片段内部是连续的片段与片段之间是不连续的当deque需要扩容时直接对Map进行扩容申请新的小片段小片段成员包括四个指针分别指向第一个元素最后一个元素当前元素一个指针用于和Map进行联系 list 链表喵 使用上deque,vector支持随机访问list不支持 03 下面程序有什么错误 listint lst; listint::iterator iter1 lst.begin(), iter2 lst.end(); while(iter1 iter2) { //.... } list的迭代器不能进行比较,要用迭代器特有的 04 创建和初始化vector的方法每种都给出一个实例当然也可以把deque与list写出来 01 创建空容器 02 count个value 03 迭代器 04 {} 05 拷贝构造和移动构造 #include iostream #include vector #include deque #include list using std::cout; using std::endl; using std::vector; using std::list; using std::deque;template class T void print( T con){for(auto ele: con){coutele ;}coutendl; }void test(){/*1*/vectorint num0;/*2*/vectorint num1(10,5);//count same valueint arr[10]{0,1,2,3,4,5,6,7,8,9};/*3*/vectorint num2(arr,arr10);//[0,10)/*4*/vectorint num4(num1);/*4*/vectorint num5(vectorint{1,2,3});/*5*/vectorint num3{4,5,6,3,2,7,3,9};print(num0);print(num1);print(num2);print(num3);print(num4);print(num5);coutendl; } void test1(){/*1*/dequeint num0;/*2*/dequeint num1(10,5);//count same value/*3*/dequeint num2(num1.begin(),num1.end());//[0,10)/*4*/dequeint num4(num1);/*4*/dequeint num5(dequeint{1,2,3});/*5*/dequeint num3{4,5,6,3,2,7,3,9};print(num0);print(num1);print(num2);print(num3);print(num4);print(num5);coutendl; } void test2(){/*1*/listint num0;/*2*/listint num1(10,5);//count same value/*3*/listint num2(num1.begin(),num1.end());//[0,10)/*4*/listint num4(num1);/*4*/listint num5(listint{1,2,3});/*5*/listint num3{4,5,6,3,2,7,3,9};print(num0);print(num1);print(num2);print(num3);print(num4);print(num5);coutendl; } int main(void) {test();test1();test2();return 0; }05 如果c1与c2是两个容器下面的比较操作有什么限制if(c1 c2) 01是相同的容器类型 02容器的元素类型支持比较操作 03容器内部元素的顺序性比较deque,vector支持list不支持只能使用 04容器支持随机访问元素 06 STL中的std::deque容器的实现原理 deque的实现依靠  中控器数组Map小片段实现的片段内部是连续的片段与片段之间是不连续的当deque需要扩容时直接对Map进行扩容申请新的小片段小片段成员包括四个指针分别指向第一个元素最后一个元素当前元素一个指针用于和Map进行联系 07 评委打分的例子要求有五名选手ABCDE10个评委打分去掉最高分和最低分求出每个选手的平均分。 思路  1.创建Person类定义namescore成员属性创建五名选手存放到vector容器中 2.遍历vector容器首先10个评委的打分存放到deque容器中sort算法对分数排序去掉最高最低分 3.deque容器遍历进行剩余分数的累加求平均 4.输出每个选手的姓名成绩 提示还是容器vector与deque的基本使用 //嘻嘻每一个初始化都会worning#include iostream #include vector #include deque #include string.h #include random using std::cout; using std::endl; using std::vector; using std::deque; using std::ostream;#define PER_NUM 5 #define SCO_NUM 10class Person{ public: //const char* 坏终于知道为什么worning了Person(char* name,int sc):_name(new char[strlen(name)1]()),_score(sc){strcpy(_name,name);}Person(const Person p):_name(new char[strlen(p._name)1]()),_score(p._score){strcpy(_name,p._name);}//vector初始化使用拷贝构造~Person(){if(_name){delete [] _name;_namenullptr;}}Person operator(const Person p){if(this!p){delete [] _name;_namenew char[strlen(p._name)1]();strcpy(_name,p._name);_scorep._score;}return *this;}void p_sc(int sc){_scoresc;}friend ostream operator(ostream os,const Person p); private:char* _name;int _score; }; ostream operator(ostream os,const Person p){osp._name--p._score ;return os; }//-------------------------// void test(){Person p1(xixi,0);Person p2(jiajia,0);Person p3(kewu,0);Person p4(dada,0);Person p5(shazi,0);vectorPerson people{p1,p2,p3,p4,p5};std::random_device rd;//获取随机数种子std::mt19937 gen(rd());//生成随机数引擎std::uniform_int_distribution dis(60,100);//范围for(int i0;iPER_NUM;i){dequeint sc;for(int j0;jSCO_NUM;j){sc.push_back(dis(gen));/* coutsc[j] ; */}/* coutendl; */int max0,min0,rel0;for(auto ele:sc){if(elemax){maxele;}if(elemin){minele;}relele;}rel(rel-max-min)/(SCO_NUM-2);people[i].p_sc(rel); coutpeople[i]endl;}coutendl; } int main(void) {test();return 0; }#include iostream #include string #include vector #include deque #include algorithmusing namespace std;class Person { public:Person(const string name,int score) : _name(name), _score(score){}string _name;int _score; };void creatPerson(vectorPerson vec) {string nameSeed ABCDE;for (int idx 0; idx 5; idx){string name 选手;name nameSeed[idx];int score 0;Person p(name, score);vec.push_back(p);} }void setScore(vectorPerson vec) {for (vectorPerson::iterator it vec.begin(); it ! vec.end(); it){dequeint dq;for (int idx 0; idx 10; idx) {//将分数设定在[60, 100]范围中int score ::rand() % 41 60;//产生随机的分数dq.push_back(score);}//对分数进行排序sort(dq.begin(), dq.end());dq.pop_front();//去掉最低分dq.pop_back();//去掉最高分int sum 0;for (dequeint::iterator dit dq.begin(); dit ! dq.end(); dit){sum *dit;}//求10个评委的平均分int avg sum/dq.size();//然后将10个评委的平均分赋值给每个选手it-_score avg; } }void showScore(vectorPerson vec) {for (vectorPerson::iterator it vec.begin(); it ! vec.end(); it) {cout 姓名: it-_name 平均分数: it-_score endl;} }int main() {//种随机种子::srand(::clock());//定义Person类型的容器vectorPerson vec;//创建五名选手创建容器类里面的成员及其属性creatPerson(vec);//给每个选手设定分数让10个评委打分setScore(vec);//显示每个选手的分数showScore(vec); return 0; }  不想看虽然我的初始化一直woring //Person(const char* name,int score)坏终于知道为什么worning了 08 编程题从一个 vectorchar 初始化一个 string。 提示可以定义vector如下vectorchar vc { H, E, L, L, O };然后查看如何给string进行初始化或者赋值考查对vector与string的基本使用 #include iostream #include vector #include deque #include list #include string using std::cout; using std::endl; using std::vector; using std::list; using std::deque; using std::string;//---------------------------------//void test(){vectorcharvc{h,e,l,l,o};string s1{\0};couts1endl;for(auto ele:vc){s1ele;}s1\0;couts1endl; }int main(void) {test();return 0; } #include iostream #include string #include vector using namespace std; int main() {vectorchar vc { H, E, L, L, O };string s(vc.data(), vc.size());cout s endl;return 0; }  我好蠢嘻嘻 09 题目使用vector打印九九乘法表。 提示可以使用vector嵌套vector的使用方式。例如vectorvectorint然后就是veector的基本操作。 #include iostream #include vector #include deque #include list #include string using std::cout; using std::endl; using std::vector; using std::list; using std::deque; using std::string;//---------------------------------//void print(vectorvectorint con){for(int i0;i9;i){for(auto ell : con[i]){cout(i1)×ell(i1)*(ell) ;}coutendl;} }//---------------------------------// void test(){vectorvectorint v1(9);for(int i0;i9;i){vectorint tempv;for(int j0;ji;j){tempv.push_back(j1);}v1[i]tempv;}print(v1); }int main(void) {test();return 0; }#includeiostream #includevectorusing namespace std;int main() {vectorvectorint v2d;for (int i 0; i 9; 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; } 01初始化9个空 vectorint--vectorvectorint 02vectorint存乘积 03打印
http://www.w-s-a.com/news/796431/

相关文章:

  • 花都区pc端网站建设画册设计多少钱一页
  • 国外买域名的网站廊坊网站制作网页
  • 抚顺市城市建设档案馆网站制作网页时经常用的一种动态位图格式是
  • 公司网站站群是什么运营网站
  • 昆明网站建设大全安徽教育机构网站建设
  • 广州网站排名怎么优化中华衣柜网
  • 怎样围绕网站专题发展来做ppt城乡住建局官网
  • 安卓手机app制作关键词优化公司
  • 江苏固茗建设有限公司网站深圳网站建设深圳网
  • 高性能网站建设指南北京城乡建设官方网站
  • 企业网站找谁做做淘宝相关网站
  • 商业网站网站建设wordpress关闭前端公共库
  • 打开山东城市建设职业学院网站下载了wordpress后
  • 四川网站建设设计城乡建设网站证件查询系统
  • 企业邮箱哪里买栾城seo整站排名
  • 长沙网站建设zh68网页制作技术实训报告
  • 电商网站的功能手机广告设计与制作软件
  • 做网站前端需要编程基础吗杭州市住房和城乡建设局
  • 网站开发一般学多久网站建设投标方案
  • 北京网站建设报价表制作短视频的软件有哪些
  • 长沙企业网站开发西安建设公司网站
  • 做图的兼职网站网站开发用了哪些知识要点
  • php网站怎么做静态化微慕wordpress插件
  • 电商营业执照wordpress利于seo
  • 那些网站主做玄幻小说营销策略都有哪些方面
  • 同一源代码再建设一个网站建立网站免费
  • 网站更换服务器影响做seo必须有网站吗
  • 免费网页模板网站php微信微网站怎么做
  • 网站的优点和缺点腾讯企点是什么软件
  • 谷歌英文网站推广网页设计好看的网站