当前位置: 首页 > 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;
}

http://www.lqws.cn/news/85357.html

相关文章:

  • 2025GDCPC广东省赛游记(附赛时代码)
  • 基于LangChain的AI助手开发:从零到上线
  • 天机学堂-分页查询
  • 21-CS61B-lab6:java文件操作以及持久化一见
  • PNG文件格式
  • 【技术支持】安卓开发中queryUsageStats不准确的问题
  • 【latex】易遗忘的表达
  • cpper 转 Golang
  • 【LLM】AI Agents vs. Agentic AI(概念应用挑战)
  • K-匿名模型
  • 英语中什么时候用that?
  • 电磁场与电磁波公式汇总
  • DeepSeek 部署中的常见问题及解决方案
  • 【Java EE初阶 --- 多线程(初阶)】多线程的实现案例
  • torch.randn vs torch.rand
  • win32相关(虚拟内存和物理内存)
  • 探索大语言模型(LLM):RSE流程详解——从文档中精准识别高相关片段
  • 第17讲、odoo18可视化操作代码生成模块
  • 基于springboot的家政服务预约系统
  • 算法-集合的使用
  • 统计字符数
  • 知识图谱系列(5):表示学习
  • 【Linux】pthread多线程基础
  • 【python深度学习】Day43 复习日
  • RNN循环网络:给AI装上“记忆“(superior哥AI系列第5期)
  • 快手可灵视频V1.6模型API如何接入免费AI开源项目工具
  • gcc编译构建流程-函数未定义问题
  • UE特效Niagara性能分析
  • 数据资产评估进阶:精读资产评估专家指引第9号——数据资产评估指导【附全文阅读】
  • 【Godot引擎】如何使用内置的全局搜索功能提升开发效率