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

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;
}

http://www.xdnf.cn/news/10626.html

相关文章:

  • SQL 窗口函数深度解析:ROW_NUMBER 实战指南
  • volatile,synchronized,原子操作实现原理,缓存一致性协议
  • LabVIEW准分子激光器智能控制系统
  • 35.x64汇编写法(二)
  • Elasticsearch 读写流程深度解析
  • JAVA中的注解和泛型
  • 用 Whisper 打破沉默:AI 语音技术如何重塑无障碍沟通方式?
  • Mybatis框架各配置文件主要内容详解(二)
  • 神经网络与深度学习(第二章)
  • 数字化转型全场景安全解析:从产品到管理的防线构建与实施要点
  • 由浅入深一文详解同余原理
  • 【Android】MT6835 + MT6631 WiFi进入Meta模式出现WiFi_HQA_OpenAdapter failed
  • Higress项目解析(二):Proxy-Wasm Go SDK
  • 车载诊断架构 --- DTC消抖参数(Trip Counter DTCConfirmLimit )
  • 12.1 GUI 事件处理
  • nssctf第二题[SWPUCTF 2021 新生赛]简简单单的逻辑
  • BiliNote部署实践
  • CRC 原理概述
  • NodeJS全栈WEB3面试题——P5全栈集成与 DApp 构建
  • 04powerbi-度量值-筛选引擎CALCULATE()
  • HTTP、WebSocket、SSE 对比
  • hadoop伪分布式配置(单机)
  • 迈向分布式智能:解析MCP到A2A的通信范式迁移
  • 大数据学习(127)-hive日期函数
  • ACTF2025-web-eznote-wp
  • 详解一下RabbitMQ中的channel.Publish
  • 端到端的导航技术NeuPAN论文讲解
  • 从0开始学习R语言--Day15--非参数检验
  • Pytorch知识点2
  • DAY43打卡