优秀的个人博客网站万网站

张小明 2025/12/31 11:33:10
优秀的个人博客网站,万网站,网络服务器地址怎么查,太原网站开发工程师csp信奥赛C标准模板库STL#xff08;3#xff09;#xff1a;list的使用详解 1. list基本概念 list是C标准模板库(STL)中的双向链表容器。与vector和deque不同#xff0c;list不支持随机访问#xff0c;但可以在任意位置快速插入和删除元素。 特点#xff1a; 双向链表…csp信奥赛C标准模板库STL3list的使用详解1. list基本概念list是C标准模板库(STL)中的双向链表容器。与vector和deque不同list不支持随机访问但可以在任意位置快速插入和删除元素。特点双向链表每个元素包含指向前后元素的指针非连续存储元素在内存中不连续存放动态大小无需预先指定大小插入删除高效在任意位置插入删除时间复杂度为O(1)不支持随机访问不能像数组一样通过下标访问2. 基本用法头文件和声明#includeiostream#includelistusingnamespacestd;// 声明listlistintlst1;// 空listlistintlst2(5,10);// 5个元素每个初始化为10listintlst3{1,2,3,4,5};// 初始化列表(C11)listintlst4(lst3.begin(),lst3.end());// 通过迭代器构造listintlst5(lst3);// 拷贝构造3. 常用操作3.1 插入元素listintlst;// 末尾插入lst.push_back(10);// {10}lst.push_back(20);// {10, 20}// 开头插入lst.push_front(5);// {5, 10, 20}// 指定位置插入autoitlst.begin();advance(it,2);// 移动到第3个位置lst.insert(it,15);// {5, 10, 15, 20}// 插入多个元素itlst.begin();lst.insert(it,3,0);// {0, 0, 0, 5, 10, 15, 20}// 插入范围vectorintvec{100,200};lst.insert(lst.end(),vec.begin(),vec.end());// 末尾插入vector内容3.2 删除元素listintlst{1,2,3,4,5,6};// 删除末尾lst.pop_back();// {1, 2, 3, 4, 5}// 删除开头lst.pop_front();// {2, 3, 4, 5}// 删除指定位置autoitlst.begin();advance(it,2);itlst.erase(it);// 删除第3个元素返回下一个迭代器 {2, 3, 5}// 删除指定范围autofirstlst.begin();autolastlst.begin();advance(last,2);lst.erase(first,last);// 删除前2个元素 {5}// 删除特定值lst{1,2,3,2,4,2};lst.remove(2);// 删除所有值为2的元素 {1, 3, 4}// 删除满足条件的元素lst{1,2,3,4,5,6};lst.remove_if([](intx){returnx%20;});// 删除所有偶数 {1, 3, 5}// 清空listlst.clear();// {}3.3 访问元素listintlst{10,20,30,40};// 访问首尾元素coutfront: lst.front()endl;// 10coutback: lst.back()endl;// 40// 注意list不支持随机访问不能使用lst[2]或lst.at(2)// 遍历访问for(autoitlst.begin();it!lst.end();it){cout*it ;}coutendl;// 使用范围for循环(C11)for(intval:lst){coutval ;}coutendl;4. 容量操作listintlst{1,2,3};// 大小相关coutsize: lst.size()endl;// 3coutempty: lst.empty()endl;// 0(false)// 调整大小lst.resize(5);// {1, 2, 3, 0, 0}多出的元素默认初始化为0lst.resize(2);// {1, 2}截断多余元素lst.resize(4,100);// {1, 2, 100, 100}多出的元素初始化为1005. list特有操作5.1 合并操作(merge)listintlst1{1,3,5};listintlst2{2,4,6};// 合并两个已排序的listlst1.merge(lst2);// lst1: {1, 2, 3, 4, 5, 6}, lst2为空// 自定义比较函数的合并listintlst3{6,4,2};listintlst4{5,3,1};lst3.sort();// {2, 4, 6}lst4.sort();// {1, 3, 5}lst3.merge(lst4,greaterint());// 降序合并5.2 排序和去重listintlst{5,3,1,4,2,3,1};// 排序lst.sort();// 升序排序 {1, 1, 2, 3, 3, 4, 5}lst.sort(greaterint());// 降序排序 {5, 4, 3, 3, 2, 1, 1}// 去重必须先排序lst.sort();// 先排序lst.unique();// 去除相邻重复元素 {1, 2, 3, 4, 5}// 自定义去重条件listintlst2{1,2,3,4,5};lst2.unique([](inta,intb){returnb-a1;// 如果相差1则视为重复});// 可能保留 {1, 3, 5}具体取决于实现5.3 反转listintlst{1,2,3,4,5};lst.reverse();// {5, 4, 3, 2, 1}6. 迭代器listintlst{10,20,30,40,50};// 双向迭代器listint::iterator it;// 正向迭代器listint::reverse_iterator rit;// 反向迭代器// 迭代器操作itlst.begin();// 指向第一个元素advance(it,2);// 前进2个位置autoprev_itprev(it,1);// 后退1个位置autonext_itnext(it,1);// 前进1个位置// 反向遍历for(ritlst.rbegin();rit!lst.rend();rit){cout*rit ;// 输出: 50 40 30 20 10}// 常量迭代器listint::const_iterator citlst.cbegin();// *cit 100; // 错误不能修改const迭代器指向的值7. 在信奥赛中的应用示例案例约瑟夫环问题// n个人围成一圈从1开始报数报到m的人出列求最后剩下的人intjosephus(intn,intm){listintpeople;for(inti1;in;i){people.push_back(i);}autoitpeople.begin();while(people.size()1){// 数m-1个人for(inti1;im;i){it;if(itpeople.end()){itpeople.begin();}}// 删除第m个人itpeople.erase(it);if(itpeople.end()){itpeople.begin();}}returnpeople.front();}8. 性能分析操作时间复杂度说明push_back/pop_backO(1)在末尾操作push_front/pop_frontO(1)在开头操作insert/eraseO(1)在已知位置插入/删除查找O(n)需要遍历sortO(n log n)链表特有的排序算法sizeO(1) 或 O(n)取决于实现总结在CSP信奥赛中list适用于以下场景需要频繁在任意位置插入删除元素不需要随机访问元素需要高效的合并、拼接操作实现LRU缓存等特定数据结构掌握list的关键是理解链表特性和STL提供的丰富操作这些在解决特定问题时非常高效。各种学习资料助力大家一站式学习和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奥赛知识! ##########;cout############# 冲刺信奥赛拿奖! #############;cout###### 课程购买后永久学习不受限制! ######;return0;}一、CSP信奥赛C通关学习视频课C语法基础C语法进阶C算法C数据结构CSP信奥赛数学CSP信奥赛STL二、CSP信奥赛C竞赛拿奖视频课信奥赛csp-j初赛高频考点解析CSP信奥赛C复赛集训课12大高频考点专题集训三、考级、竞赛刷题题单及题解GESP C考级真题题解CSP信奥赛C初赛及复赛高频考点真题解析CSP信奥赛C一等奖通关刷题题单及题解详细内容1、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转2、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转3、csp信奥赛冲刺一等奖有效刷题题解CSP信奥赛C初赛及复赛高频考点真题解析持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转2025 csp-j 复赛真题及答案解析最新更新2025 csp-x(山东) 复赛真题及答案解析最新更新2025 csp-x(河南) 复赛真题及答案解析最新更新2025 csp-x(辽宁) 复赛真题及答案解析最新更新2025 csp-x(江西) 复赛真题及答案解析最新更新2025 csp-x(广西) 复赛真题及答案解析最新更新2020 ~ 2024 csp 复赛真题题单及题解2019 ~ 2022 csp-j 初赛高频考点真题分类解析2021 ~ 2024 csp-s 初赛高频考点解析2023 ~ 2024 csp-x (山东)初赛真题及答案解析2024 csp-j 初赛真题及答案解析2025 csp-j 初赛真题及答案解析最新更新2025 csp-s 初赛真题及答案解析最新更新2025 csp-x (山东)初赛真题及答案解析(最新更新)2025 csp-x (江西)初赛真题及答案解析(最新更新)2025 csp-x (辽宁)初赛真题及答案解析(最新更新)CSP信奥赛C一等奖通关刷题题单及题解持续更新https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转129 道刷题练习和详细题解涉及模拟算法、数学思维、二分算法、 前缀和、差分、深搜、广搜、DP专题、 树和图4、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站语言切换功能如何做最近国际局势最新消息

Topit窗口置顶工具:解锁Mac多任务处理的终极方案 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 在日常工作中,你是否经常面临这样的困境…

张小明 2025/12/30 1:42:24 网站建设

巴中网站建设网站推广网页设计毕设

GAIA基准实战指南:如何科学评估AI助手的真实能力 【免费下载链接】agents-course This repository contains the Hugging Face Agents Course. 项目地址: https://gitcode.com/GitHub_Trending/ag/agents-course 当你面对市场上琳琅满目的AI助手时&#xff…

张小明 2025/12/31 14:46:01 网站建设

网站推广策略与问题分析微信导航wordpress

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个面向新手的交互式PPT制作引导系统,通过分步向导帮助用户完成第一份PPT。包含:1.模板选择助手 2.内容填写引导 3.设计调整教学 4.实时预览反馈 5.常见…

张小明 2025/12/30 1:34:17 网站建设

2016年做网站好不好广州小程序软件开发

EmotiVoice赋能有声书制作:自动生成带情节情绪的朗读 在有声内容爆发式增长的今天,听众早已不满足于“能听就行”的机械朗读。一部真正打动人心的有声书,需要语气的起伏、情感的流动,甚至角色性格的细微差别——这些原本只能由专业…

张小明 2025/12/30 1:32:15 网站建设

wordpress做自建站互联网论坛

线程同步:锁机制详解 1. 竞态条件问题 竞态条件是由一系列事件导致的错误。例如,在某些情况下,多个线程同时检查 race_list ,发现其为空后都将单元编号赋值为 0;或者 MOD_QUIESCE 无错误返回后, race_softc 结构被添加到 race_list ,最后 MOD_UNLOAD 完成。竞…

张小明 2025/12/30 1:30:13 网站建设