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

门禁考勤网站建设如何访问服务器上的网站

门禁考勤网站建设,如何访问服务器上的网站,装修公司网站怎么做的,建筑人才网987vector 向量#xff08;Vector#xff09;是STL中最常用的容器之一#xff0c;它提供了动态数组的功能#xff0c;支持随机访问和动态调整大小。下面是向量的一些基本操作#xff1a; 创建向量#xff1a; #include vector std::vectorint vec; // …vector 向量Vector是STL中最常用的容器之一它提供了动态数组的功能支持随机访问和动态调整大小。下面是向量的一些基本操作 创建向量 #include vector std::vectorint vec; // 创建一个空的整型向量 向向量中添加元素 vec.push_back(10); // 在向量末尾添加元素10 获取向量的大小 int size vec.size(); // 获取向量中元素的个数 访问向量中的元素 int firstElement vec[0]; // 访问第一个元素 int lastElement vec.back(); // 访问最后一个元素 遍历向量中的元素 for (int i 0; i vec.size(); i) { std::cout vec[i] ; } 或者使用 C11 中的范围遍历 for (int element : vec) { std::cout element ; } 删除向量中的元素 vec.pop_back(); // 删除向量末尾的元素 清空向量 vec.clear(); // 清空向量中的所有元素 这些是向量的一些基本操作可以用来创建、添加、访问、遍历、删除和清空向量中的元素。 需要注意的是向量支持动态调整大小因此在需要时可以动态地添加或删除元素。 stack 栈Stack是一种后进先出LIFO的数据结构它的基本操作包括 创建栈 #include stack std::stackint myStack; // 创建一个空的整数栈 向栈顶压入元素 myStack.push(10); // 将元素10压入栈顶 从栈顶弹出元素 myStack.pop(); // 弹出栈顶元素10 访问栈顶元素 int topElement myStack.top(); // 获取栈顶元素的值不弹出 检查栈是否为空 if (myStack.empty()) { // 栈为空 } else { // 栈不为空 } 获取栈中元素的个数 int size myStack.size(); // 获取栈中元素的个数 栈是一种非常常见的数据结构在许多情况下都非常有用例如函数调用、表达式求值等。 它提供了一种后进先出的存储方式使得最后进入栈的元素最先被访问。 queue 队列Queue是一种先进先出FIFO的容器通常用于在数据结构中保存元素并且按照它们进入队列的顺序进行处理。以下是队列的基本操作 创建队列 #include queue std::queueint q;// 创建一个空的整型队列 向队列中添加元素 q.push(10); // 将元素10添加到队列末尾 访问队列中的元素 由于队列是先进先出的数据结构因此不能像向量一样直接访问任意位置的元素。只能访问队列的头部元素。 int frontElement q.front(); // 获取队列头部的元素值但不会删除元素 删除队列中的元素 q.pop(); // 删除队列头部的元素 检查队列是否为空 if (q.empty()) { // 队列为空 } else { // 队列不为空 } 获取队列中的元素个数 int size q.size(); // 获取队列中元素的个数 队列的基本操作主要包括创建队列、添加元素、访问元素、删除元素、检查队列是否为空以及获取队列中的元素个数。 需要注意的是队列只允许在队列的一端添加元素尾部在另一端删除元素头部并且只能访问头部的元素。 set 集合Set是一种关联容器其中的元素是唯一的并且按照一定的排序规则进行自动排序。以下是集合的基本操作 创建集合 #include set std::setint mySet; // 创建一个空的整数集合 向集合中添加元素 mySet.insert(10); // 向集合中插入元素10 mySet.insert(20); // 向集合中插入元素20 从集合中删除元素 mySet.erase(10); // 从集合中删除元素10 检查集合中是否存在某个元素 if (mySet.find(20) ! mySet.end()) { // 集合中存在元素20 } else { // 集合中不存在元素20 } 获取集合中的元素个数 int size mySet.size(); // 获取集合中元素的个数 遍历集合中的元素 for (const auto element : mySet) { std::cout element std::endl; } 清空集合 mySet.clear(); // 清空集合使其不包含任何元素 集合中的元素是唯一的并且按照一定的排序规则进行自动排序。因此插入、删除和查找元素的操作都具有较高的效率。集合提供了一种方便的方式来管理一组唯一的元素。 map 映射Map是一种关联容器它将键和值一一对应存储并且根据键的排序规则自动排序。以下是映射的基本操作 创建映射 #include map std::mapstd::string, int myMap; // 创建一个空的映射键为字符串值为整数 向映射中添加键值对 myMap[apple] 10; // 向映射中添加键值对apple, 10 myMap[banana] 20; // 向映射中添加键值对banana, 20 访问映射中的元素 int value myMap[apple];// 获取键为apple的值// 如果键不存在会插入一个新的键值对值为默认值对于整数值为0 删除映射中的元素 myMap.erase(banana); // 删除键为banana的键值对 检查映射中是否存在某个键 if (myMap.find(apple) ! myMap.end()) { // 存在键apple } else { // 不存在键apple } 获取映射中的元素个数 int size myMap.size(); // 获取映射中键值对的个数 遍历映射中的键值对 for (const auto pair : myMap) { std::cout Key: pair.first , Value: pair.second std::endl; } 也可以使用 C11 中的结构化绑定 for (auto [first, second] : myMap) { std::cout Key: first , Value: second std::endl; } 这些是映射的基本操作可以用来创建映射、添加键值对、访问元素、删除元素、检查键是否存在、获取元素个数以及遍历键值对。 映射中的键值对是按照键的排序规则自动排序的。 priority_queue 优先队列Priority Queue是一种特殊的队列其中的元素按照一定的优先级顺序进行排列具有较高优先级的元素先被取出。其基本操作包括 创建优先队列 #include queue std::priority_queueint myPriorityQueue; // 创建一个空的整数优先队列默认按照降序排序#include queue std::priority_queueint, vectorint, greaterint myPriorityQueue; // 创建一个空的整数优先队列并且按照升序排序 向优先队列中插入元素 myPriorityQueue.push(10); // 插入元素10 myPriorityQueue.push(20); // 插入元素20 从优先队列中取出优先级最高的元素 int topElement myPriorityQueue.top(); // 获取优先级最高的元素值不弹出 从优先队列中删除优先级最高的元素 myPriorityQueue.pop(); // 弹出优先级最高的元素 检查优先队列是否为空 if (myPriorityQueue.empty()) { // 优先队列为空 } else { // 优先队列不为空 } 获取优先队列中元素的个数 int size myPriorityQueue.size(); // 获取优先队列中元素的个数 优先队列常用于需要按照优先级处理元素的场景例如任务调度、事件处理等。 默认情况下优先队列按照元素的值进行降序排序但也可以通过自定义比较函数或使用自定义类型来改变排序方式。 deque 双端队列Deque是一种序列容器允许在两端进行插入和删除操作。以下是双端队列的基本操作 创建双端队列 #include deque std::dequeint dq; // 创建一个空的整型双端队列 向双端队列中添加元素 dq.push_back(10); // 在队列尾部添加元素10 dq.push_front(20); // 在队列头部添加元素20 访问双端队列中的元素 int backElement dq.back(); // 获取队列尾部的元素值但不会删除元素 int frontElement dq.front(); // 获取队列头部的元素值但不会删除元素 删除双端队列中的元素 dq.pop_back(); // 删除队列尾部的元素 dq.pop_front(); // 删除队列头部的元素 检查双端队列是否为空 if (dq.empty()) { // 队列为空 } else { // 队列不为空 } 获取双端队列中的元素个数 int size dq.size(); // 获取队列中元素的个数 访问双端队列中的元素随机访问 与向量类似双端队列也支持随机访问可以使用索引访问队列中的元素。 int element dq[2]; // 访问队列中索引为2的元素值 双端队列的基本操作主要包括创建队列、添加元素、访问元素、删除元素、检查队列是否为空以及获取队列中的元素个数。 与队列不同的是双端队列允许在两端进行插入和删除操作因此具有更灵活的使用方式。 unordered_map unordered_map无序映射是C中的一种关联容器它提供了键值对的存储和检索并且具有快速的查找速度。它的基本操作包括 创建unordered_map #include unordered_map std::unordered_mapstd::string, int myMap; // 创建一个空的无序映射键为string类型值为int类型 向unordered_map中插入键值对 myMap[apple] 10; // 插入键为apple值为10的键值对 myMap[banana] 20; // 插入键为banana值为20的键值对 从unordered_map中访问元素 int value myMap[apple]; // 获取键为apple的值 检查unordered_map中是否存在某个键 if (myMap.find(apple) ! myMap.end()) { // 键apple存在于unordered_map中 } else { // 键apple不存在于unordered_map中 } 删除unordered_map中的键值对 myMap.erase(banana); // 删除键为banana的键值对 获取unordered_map中键值对的个数 int size myMap.size(); // 获取unordered_map中键值对的个数 unordered_map提供了快速的查找速度其查找操作的平均时间复杂度为常数级别O(1)但不保证元素的顺序。 在某些情况下unordered_map比map更适合尤其是对于大量数据而言。 unordered_set unordered_set无序集合是C中的一种关联容器它存储唯一的元素且不按照任何顺序组织它们。它的基本操作包括 创建unordered_set #include unordered_set std::unordered_setint mySet; // 创建一个空的无序集合存储整数类型元素 向unordered_set中插入元素 mySet.insert(10); // 向无序集合中插入元素10 mySet.insert(20); // 向无序集合中插入元素20 检查unordered_set中是否存在某个元素 if (mySet.find(10) ! mySet.end()) { // 元素10存在于无序集合中 } else { // 元素10不存在于无序集合中 } 删除unordered_set中的元素 mySet.erase(20); // 删除元素20 获取unordered_set中元素的个数 int size mySet.size(); // 获取无序集合中元素的个数 unordered_set提供了快速的查找和插入速度其查找和插入操作的平均时间复杂度为常数级别O(1)。 由于不会维护元素的顺序因此在某些情况下unordered_set比set更适合。 multiset multiset多重集合是C中的一种关联容器它允许存储重复的元素并按照一定的排序规则组织它们。它的基本操作与set类似但允许存储相同的元素。基本操作包括 创建multiset #include set std::multisetint myMultiset; // 创建一个空的多重集合存储整数类型元素默认按照升序排序 向multiset中插入元素 myMultiset.insert(10); // 向多重集合中插入元素10 myMultiset.insert(20); // 向多重集合中插入元素20 myMultiset.insert(20); // 向多重集合中再次插入元素20允许重复插入 从multiset中访问元素 // 可以通过迭代器遍历multiset中的元素 for (auto it myMultiset.begin(); it ! myMultiset.end(); it) { std::cout *it ; } 检查multiset中是否存在某个元素 if (myMultiset.find(10) ! myMultiset.end()) { // 元素10存在于多重集合中 } else { // 元素10不存在于多重集合中 } 删除multiset中的元素 myMultiset.erase(20); // 删除元素20只删除一个匹配项 获取multiset中元素的个数 int size myMultiset.size(); // 获取多重集合中元素的个数包括重复的元素 multiset中的元素按照排序规则组织因此它是有序的容器。 相比于setmultiset允许存储重复的元素并且可以方便地统计重复元素的个数。 tuple Tuple元组是C中的一种标准库容器用于存储固定数量的对象。元组中的对象可以是不同的类型且元组的大小在编译时确定。基本操作包括 创建tuple #include tuple std::tupleint, double, std::string myTuple(10, 3.14, hello); // 创建一个包含int、double和string类型对象的元组 访问tuple中的元素 int intValue std::get0(myTuple); // 获取第一个元素整数 double doubleValue std::get1(myTuple); // 获取第二个元素双精度浮点数 std::string stringValue std::get2(myTuple); // 获取第三个元素字符串 修改tuple中的元素 std::get0(myTuple) 20; // 修改第一个元素的值为20 将tuple中的元素解包到变量中 int a; double b; std::string c; std::tie(a, b, c) myTuple; // 将元组中的元素解包到变量a、b、c中 比较tuple 使用std::tuple进行比较时会按照元素的顺序逐个比较。 std::tupleint, int tuple1(1, 2); std::tupleint, int tuple2(1, 3); if (tuple1 tuple2) { // tuple1小于tuple2 } else { // tuple1大于或等于tuple2 } Tuple可以在不引入新的数据结构的情况下方便地将多个值打包为一个单元并支持解包操作。由于元组中的对象类型不必相同因此在一些特定场景下使用十分方便。 array 在C中std::array 是一个模板类提供了类似于数组的功能但是具有更多的特性和安全性。它具有固定大小并且在创建后大小不能更改。以下是 std::array 的基本操作 创建 array #include array std::arrayint, 5 myArray; // 创建一个包含5个整数的数组 访问 array 中的元素 myArray[0] 10; // 给数组的第一个元素赋值为 10 int value myArray[1]; // 获取数组的第二个元素的值 获取 array 的大小 int size myArray.size(); // 获取数组的大小这里将返回5 遍历 array 中的元素 for (const auto element : myArray) { cout element endl; } 使用迭代器访问 array 中的元素 for (auto it myArray.begin(); it ! myArray.end(); it) { cout *it endl; } 初始化 array std::arrayint, 3 anotherArray {1, 2, 3}; // 使用初始化列表初始化数组 比较 array std::arrayint, 3 array1 {1, 2, 3}; std::arrayint, 3 array2 {1, 2, 3}; if (array1 array2) { // 两个数组相等 } else { // 两个数组不相等 } 填充 array myArray.fill(0); // 将数组中的所有元素填充为0 std::array 提供了数组的很多功能并且更加安全和方便因为它提供了许多与容器一样的操作比如 size()、begin()、end() 等同时还支持初始化列表和比较操作。 list 链表List是一种线性数据结构它的基本操作包括 创建链表 #include list std::listint myList; // 创建一个空的整数链表 向链表中添加元素 myList.push_back(10); // 在链表尾部添加元素10 myList.push_front(20); // 在链表头部添加元素20 从链表中删除元素 myList.pop_back(); // 删除链表尾部的元素 myList.pop_front(); // 删除链表头部的元素 访问链表中的元素 int frontElement myList.front(); // 获取链表头部的元素值 int backElement myList.back(); // 获取链表尾部的元素值 检查链表是否为空 if (myList.empty()) { // 链表为空 } else { // 链表不为空 } 获取链表中元素的个数 int size myList.size(); // 获取链表中元素的个数 在链表中进行遍历 for (const auto element : myList) { // 对链表中的每个元素执行操作 } 链表是一种非常灵活的数据结构它允许在任意位置插入和删除元素因此在某些场景下比数组更为适用。 链表的操作复杂度取决于操作的位置而不是链表的长度。
http://www.pierceye.com/news/383832/

相关文章:

  • 建站公司杭州免费投票网站制作
  • 网站优化公司效果网络营销毕业后做什么工作
  • 移动互联网的应用论文可以优化网络的软件
  • 网站建设软件哪个最好郑州广告设计与制作公司
  • 浦口区网站建设售后保障如何维护网站
  • 企业网站建设 安全合肥做网站加盟
  • 水果网络营销策划方案电商网站怎样优化
  • 免费数据源网站wordpress主页面
  • 做网站百度收费吗青岛冠通市政建设有限公司网站
  • 菜鸟建网站福建福州罗源建设局网站
  • 企业内网网站制作自己的网站多少钱
  • 关于公司网站建设的申请wordpress站群功能
  • 外贸做企业什么网站珠海的网站建设
  • 做网站教程百度云外贸soho建站公司
  • 上海市网站建设网站增加导航栏
  • 电子政务网站模版网站制作排名优化
  • 大足网站建设wordpress本地很慢
  • 企业门户网站模板html上线同安区建设局网站
  • 有些人做网站不用钱的,对吗?手机网站建立教程
  • 自适应网站主要用什么做株洲网站设计公司
  • 漂亮大气的装潢室内设计网站模板 单页式html5网页模板包金山网页设计
  • 沈阳养老保险网站手机网站建设ppt
  • 网站培训视频宝安新闻
  • 上海外贸建站推广公司服务专业的网站建设公司
  • 网站上传不了wordpress女孩学电子商务专业好就业吗
  • 石家庄网站开发工程师招聘网蜘蛛互联网站建设
  • 企业网站营销策划衡水企业做网站费用
  • 邯郸网站建设渠道通化网站建设公司
  • 做vip电影网站黑龙江省中国建设银行网站首页
  • 长沙便宜网站建设在线印章生成器