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

C++ list代码练习、set基础概念、set对象创建、set大小操作

对应力扣,回文链表,代码见下

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:bool isPalindrome(ListNode* head) {list<int> li;ListNode *tmp = head;while(tmp){li.push_back(tmp->val);tmp = tmp->next;}for(list<int>::reverse_iterator it = li.rbegin(); it != li.rend(); it++){if((*it)!= head->val){return false;}head = head -> next;}return true;}
};

有序集合set的特点:容器内的元素不重复、每插入一个元素,容器内的元素都会进行有序排列。

还有另外一种mutiset:容器内的元素可以重复、每插入一个元素,容器内的元素都会进行有序排序。

容器特点:线性容器(vector、string、list),树形容器(set、multiset)

set对象创建,代码见下

#include<iostream>
#include<set>using namespace std;void printSet(const set<int>& s) {for (set<int>::const_iterator it = s.begin(); it != s.end(); it++) {cout << *it << " ";}cout << endl;
}int main() {// 1 默认构造函数set<int> s1;cout << "s1: ";printSet(s1);// 2 初始化列表set<int> s2_1 = { 5, 4, 9, 3, 2, 1 };cout << "s2_1: ";printSet(s2_1);set<int> s2_2 = { 9, 8, 7, 7, 6, 5 };cout << "s2_2: ";printSet(s2_2);// 3 迭代器方式set<int> s3 = {s2_1.begin(), s2_1.end()};cout << "s3: ";printSet(s3);// 4 拷贝构造set<int> s4(s3);cout << "s4: ";printSet(s4);return 0;
}

set赋值操作,代码见下

#include<iostream>
#include<set>using namespace std;void printSet(const set<int>& s) {for (set<int>::const_iterator it = s.begin(); it != s.end(); it++) {cout << *it << " ";}cout << endl;
}int main() {set<int> s = { 9, 8, 4, 3, 1, 2 };cout << "s: ";printSet(s);// 1 = set对象set<int> s1;s1 = s;cout << "s1: ";printSet(s1);// 2 = 初始化列表set<int> s2;s2 = { 3, 5, 4 };cout << "s2: ";printSet(s2);return 0;
}

list大小操作,代码见下

#include<iostream>
#include<set>using namespace std;void printSet(const set<int>& s) {for (set<int>::const_iterator it = s.begin(); it != s.end(); it++) {cout << *it << " ";}cout << endl;
}int main() {set<int> s = { 9, 8, 4, 3, 1, 2 };cout << "s.enpty(): " << s.empty() << endl;cout << "s.size(): " << s.size() << endl;return 0;
}

相关文章:

  • 从 AMQP 到 RabbitMQ:核心组件设计与工作原理(二)
  • 阿里云国际站,如何通过代理商邀请的链接注册账号
  • leetcode93.复原IP地址:回溯算法中段控制与前导零处理的深度解析
  • leetcode hot100 二叉树(二)
  • 【黑马程序员uniapp】项目配置、请求函数封装
  • 如何使用DAXStudio将PowerBI与Excel连接
  • 天机学堂-分页查询
  • 从线性方程组角度理解公式 s=n−r(3E−A)
  • 【头歌实验】Keras机器翻译实战
  • C++.双指针算法(1.1目录修正)
  • nssctf第二题[SWPUCTF 2021 新生赛]简简单单的逻辑
  • Redis-6.2.9 cluster集群部署和扩容缩容
  • DeepSeek模型性能优化:从推理加速到资源调度的全栈实践
  • 【笔记】部署 AgenticSeek 项目问题:端口 8000 被占用
  • 结构型设计模式之桥接模式
  • 【设计模式-3.6】结构型——桥接模式
  • 【Qt开发】对话框
  • 3516cv610在sample_aiisp上多创一路编码流,方法
  • 设计模式——中介者设计模式(行为型)
  • Git GitHub Gitee
  • 重庆专业网站建设公司排名/营销网络怎么写
  • 凡科互动网站登录入口/seo排名查询工具
  • 简单个人网站制作教程/谷歌推广真有效果吗
  • 微商产品做网站/互联网营销推广服务商
  • 哈尔滨网站排名公司/排名函数
  • 医院证明p图软件在线/石家庄seo管理