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

c语言 做网站青岛公司建站

c语言 做网站,青岛公司建站,美术馆展厅设计方案,赌求网站开发点击蓝字关注我们来源于网络#xff0c;侵删1.vectorvector 是顺序容器的一种#xff0c;是可变长的动态数组#xff0c;支持随机访问迭代器#xff0c;所有stl算法都能对 vector 进行操作。vector 容器在实现时#xff0c;动态分配的存储空间一般都大于存放元素所需的空间…点击蓝字关注我们来源于网络侵删1.vectorvector 是顺序容器的一种是可变长的动态数组支持随机访问迭代器所有stl算法都能对 vector 进行操作。vector 容器在实现时动态分配的存储空间一般都大于存放元素所需的空间。例如哪怕容器中只有一个元素也会分配 32 个元素的存储空间。这样做的好处是在尾部添加一个新元素时不必重新分配空间直接将新元素写入适当位置即可。在这种情况下添加新元素的时间也是常数。但是多出来的空间用完再添加新元素就不得不重新分配内存空间把原有内容复制过去后再添加新的元素。#include iostream #include vector //使用vector需要包含此头文件 using namespace std; template class T void PrintVector(const vector T v) { //用于输出vector容器的全部元素的函数模板typename vector T::const_iterator i;//typename 用来说明 vector T::const_iterator 是一个类型在 Visual Studio 中不写也可以for (i v.begin(); i ! v.end(); i)cout *i ;cout endl; } int main() {int a[5] { 1, 2, 3, 4, 5 };vector int v(a, a 5); //将数组a的内容放入vcout 1) v.end() - v.begin() endl; //两个随机迭代器可以相减输出1)5cout 2); PrintVector(v); //输出2)1 2 3 4 5v.insert(v.begin() 2, 13); //在 begin()2 位置插人 13cout 3); PrintVector(v); //输出3)1 2 13 3 4 5v.erase(v.begin() 2); //删除位于 begin()2 位置的元素cout 4); PrintVector(v); //输出4)1 2 3 4 5vectorint v2(4, 100); //v2 有 4 个元素都是 100v2.insert(v2.begin(), v.begin() 1, v.begin() 3); //将v的一段插入v2开头cout 5)v2:; PrintVector(v2); //输出5)v2:2 3 100 100 100 100v.erase(v.begin() 1, v.begin() 3); //删除 v 上的一个区间即 [2,3)cout 6); PrintVector(v); //输出6)1 4 5return 0; }#include iostream #include vector using namespace std; int main() { vectorvectorint v(3); //v有3个元素每个元素都是vectorint 容器for(int i 0;i v.size(); i)for(int j 0; j 4; j)v[i].push_back(j);for(int i 0;i v.size(); i) {for(int j 0; j v[i].size(); j)cout v[i][j] ;cout endl;}return 0; }2.listlist 是顺序容器的一种。list 是一个双向链表。使用 list 需要包含头文件 list。双向链表的每个元素中都有一个指针指向后一个元素也有一个指针指向前一个元素。list 容器不支持根据下标随机存取元素。list 的构造函数和许多成员函数的用法都与 vector 类似此处不再列举。除了顺序容器都有的成员函数外list 还独有如下函数STL 中的算法 sort 可以用来对 vector 和 deque 排序它需要随机访问迭代器的支持。因为 list 不支持随机访问迭代器所以不能用算法 sort 对 list 容器排序。因此list 容器引入了 sort 成员函数以完成排序。#include list //使用 list 需要包含此头文件 #include iostream #include algorithm //使用STL中的算法需要包含此头文件 using namespace std; class A { private: int n; public:A(int n_) { n n_; }friend bool operator (const A a1, const A a2);friend bool operator (const A a1, const A a2);friend ostream operator (ostream o, const A a); }; bool operator (const A a1, const A a2) {return a1.n a2.n; } bool operator (const A a1, const A a2) {return a1.n a2.n; } ostream operator (ostream o, const A a) {o a.n;return o; } template class T void Print(T first, T last) {for (; first ! last; first)cout *first ;cout endl; } int main() {A a[5] { 1, 3, 2, 4, 2 };A b[7] { 10, 30, 20, 30, 30, 40, 40 };listA lst1(a, a 5), lst2(b, b 7);lst1.sort();cout 1); Print(lst1.begin(), lst1.end()); //输出1)1 2 2 3 4lst1.remove(2); //删除所有和A(2)相等的元素cout 2); Print(lst1.begin(), lst1.end()); //输出2)1 3 4lst2.pop_front(); //删除第一个元素cout 3); Print(lst2.begin(), lst2.end()); //输出3)30 20 30 30 40 40lst2.unique(); //删除所有和前一个元素相等的元素cout 4); Print(lst2.begin(), lst2.end()); //输出4)30 20 30 40lst2.sort();lst1.merge(lst2); //合并 lst2 到 lst1 并清空 lst2cout 5); Print(lst1.begin(), lst1.end()); //输出5)1 3 4 20 30 30 40cout 6); Print(lst2.begin(), lst2.end()); //lst2是空的输出6)lst1.reverse(); //将 lst1 前后颠倒cout 7); Print(lst1.begin(), lst1.end()); //输出 7)40 30 30 20 4 3 1lst2.insert(lst2.begin(), a 1, a 4); //在 lst2 中插入 3,2,4 三个元素list A::iterator p1, p2, p3;p1 find(lst1.begin(), lst1.end(), 30);p2 find(lst2.begin(), lst2.end(), 2);p3 find(lst2.begin(), lst2.end(), 4);lst1.splice(p1, lst2, p2, p3); //将[p2, p3)插入p1之前并从 lst2 中删除[p2,p3)cout 8); Print(lst1.begin(), lst1.end()); //输出8)40 2 30 30 20 4 3 1cout 9); Print(lst2.begin(), lst2.end()); //输出9)3 4return 0; }3.栈stack 是容器适配器的一种。要使用 stack必须包含头文件 stack。stack就是“栈”。是一种后进先出的元素序列访问、添加和删除都只能对栈顶的元素行。栈内的元素不能访问。stack的定义如下template class T, class Cont deque T class stack{... };第二个参数表明在默认情况下stack 就是用 deque 实现的。当然也可以指定用 vector 或 list 实现。虽然 stack 使用顺序容器实现但它不提供顺序容器具有的成员函数。除了 size、 empty 这两个所有容器都有的成员函数外stack 还有以下三个成员函数#include iostream #include stack //使用stack需要包含此头文件 using namespace std; int main() {int n, k;stack int stk;cin n k; //将n转换为k进制数if (n 0) {cout 0;return 0;}while (n) {stk.push(n%k);n / k;}while (!stk.empty()) {cout stk.top();stk.pop();}return 0; }4.queuequeue 就是“队列”。队列是先进先出的。队头的访问和删除操作只能在队头进行添加操作只能在队尾进行。不能访问队列中间的元素。queue 可以用 list 和 deque 实现默认情况下用 deque 实现。queue 的定义如下template class T, class Cont dequeT class queue{... };queue 同样也有和 stack 类似的 push、pop、top 函数。区别在于queue 的 push 发生在队尾pop 和 top 发生在队头。5.priority_queuepriority_queue 是“优先队列”。它和普通队列的区别在于优先队列的队头元素总是最大的——即执行 pop 操作时删除的总是最大的元素执行 top 操作时返回的是最大元素的引用。priority_queue 可以用 vector 和 deque 实现默认情况下用 vector 实现。priority_queue 默认的元素比较器是 less T。也就是说在默认情况下要放入 priority_queue 的元素必须是能用“”运算符进行比较的而且 priority _queue 保证以下条件总是成立对于队头的元素 x 和任意非队头的元素 y表达式“xy”必为 false。priority_queue 定义如下template class T, class Container vector T, class Compare lessT class priority_queue{... };priority_queue 的第三个类型参数可以用来指定排序规则。priority_queue 是使用“堆排序”技术实现的其内部并非完全有序但却能确保最大元素总在队头。因此priority_queue 特别适用于“不停地在一堆元素中取走最大的元素”这种情况。如果你年满18周岁以上又觉得学【C语言】太难想尝试其他编程语言那么我推荐你学Python现有价值499元Python零基础课程限时免费领取限10个名额▲扫描二维码-免费领取戳“阅读原文”我们一起进步
http://wiki.neutronadmin.com/news/391905/

相关文章:

  • 网站域名不变网站可以从做吗wordpress修改关键字
  • 汉滨区住房和城乡建设局网站山东网站建设和游戏开发的公司排名
  • 金融直播间网站开发linux 转换wordpress
  • 网站制作软件下载安装网站导航广告怎么做
  • 如何自己写一个网站地方网站 o2o
  • 合肥市网站建设肇庆市建设企业网站怎么样
  • 怎么才能建立自己的网站啊深圳百度推广代理
  • 国内做性视频网站阿里巴巴1688登录入口
  • 做网站费用需要分摊吗在线软件开发平台
  • 安卓app整站织梦网站源码html网站建设实例代码
  • 优秀校园网站惠州微网站建设
  • 黄村网站建设一条龙wordpress 建站配置
  • 北京住房和建设部网站首页秦皇岛黄金海岸介绍
  • 哪些行业没有做网站小程序开发教程百度云
  • 茶叶网站建设网页设计制作精准营销的成功案例
  • 网站建设导航栏变化海市科技网站建设
  • 用wordpress建站一定要先有域名和空间吗电商营销推广有哪些?
  • 网站建设责任分工表专注微商推广的网站
  • 13个实用平面设计网站asp网站发邮件
  • 建设银行网站账号怎么注销站长统计app下载免费
  • 有空间怎么做网站网站前端开发得会什么软件
  • 做投票的网站自适应网站 响应式网站
  • 企业网站配色绿色配什么色合适本地网络营销方式
  • wap网站快速开发宠物网页设计素材
  • 如何做网站编辑 沒技术html5基础知识
  • 典型的网站开发人员珠海公司网站域名注册
  • 大淘客cms网站怎么做上海有限公司有哪些
  • 各大网站的软文怎么做湖南省建设厅纪检组长
  • 网站建设进度表怎么做2018年临沂建设局网站
  • 渝中集团网站建设注册公司找黄牛一般多少钱