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

毕业设计用java做网站直播发布会

毕业设计用java做网站,直播发布会,建筑工程公司取名,怎么样的网站合适做城市代理摘要 C 标准库中的 std::list 是一种双向链表容器&#xff0c;它允许在常数时间内进行插入和删除操作&#xff0c;每个元素包含一个指向前一个和后一个元素的指针。这给我们开发提供了高效的插入和删除操作。 引入头文件 要使用 std::list&#xff0c;需要包含头文件 <li…

摘要

C++ 标准库中的 `std::list` 是一种双向链表容器,它允许在常数时间内进行插入和删除操作,每个元素包含一个指向前一个和后一个元素的指针。这给我们开发提供了高效的插入和删除操作。

引入头文件

要使用 `std::list`,需要包含头文件 `<list>`:

#include <list>

创建和初始化

#include <iostream>
#include <list>int main() {std::list<int> l1;                      // 默认构造函数std::list<int> l2(5, 10);               // 创建包含 5 个值为 10 的元素的列表std::list<int> l3 = {1, 2, 3, 4, 5, 6}; // 列表初始化// 输出列表 l3 的内容for (int n : l3) {std::cout << n << ' ';}std::cout << std::endl;return 0;
}

常用方法和操作

1. 插入和删除元素

#include <iostream>
#include <list>int main() {std::list<int> l = {1, 2, 3, 4, 5, 6};// 在末尾添加元素l.push_back(6);// 在开头添加元素l.push_front(0);// 在第三个位置插入元素auto it = l.begin();std::advance(it, 3); // 前进 3 个位置l.insert(it, 99);// 删除开头的元素l.pop_front();// 删除末尾的元素l.pop_back();// 删除特定位置的元素it = l.begin();std::advance(it, 2); // 前进 2 个位置l.erase(it);// 输出列表 l 的内容for (int n : l) {std::cout << n << ' ';}std::cout << std::endl;return 0;
}

2. 访问元素

`std::list` 不支持随机访问(即不支持 `operator[]`),但是可以使用迭代器遍历和访问元素:

#include <iostream>
#include <list>int main() {std::list<int> l = {1, 2, 3, 4, 5, 6};// 使用迭代器遍历for (auto it = l.begin(); it != l.end(); ++it) {std::cout << *it << ' ';}std::cout << std::endl;// 使用范围 for 循环遍历for (int n : l) {std::cout << n << ' ';}std::cout << std::endl;return 0;
}

3. 反向遍历

#include <iostream>
#include <list>int main() {std::list<int> l = {1, 2, 3, 4, 5, 6};// 反向遍历for (auto it = l.rbegin(); it != l.rend(); ++it) {std::cout << *it << ' ';}std::cout << std::endl;return 0;
}

4. 其它用法

#include <iostream>
#include <list>int main() {std::list<int> l = {1, 2, 3, 4, 5, 6};// 获取列表大小std::cout << "Size: " << l.size() << std::endl;// 检查是否为空if (l.empty()) {std::cout << "List is empty" << std::endl;} else {std::cout << "List is not empty" << std::endl;}// 清空列表l.clear();std::cout << "Size after clear: " << l.size() << std::endl;return 0;
}

进阶使用技巧

1. 合并和排序

#include <iostream>
#include <list>int main() {std::list<int> l1 = {1, 3, 5, 7};std::list<int> l2 = {2, 4, 6, 8};// 合并两个已排序的列表l1.merge(l2);// 排序l1.sort();// 反转l1.reverse();// 输出列表 l1 的内容for (int n : l1) {std::cout << n << ' ';}std::cout << std::endl;return 0;
}

2. 去重

#include <iostream>
#include <list>int main() {std::list<int> l = {1, 2, 2, 3, 3, 3, 4, 5};// 必须先排序,然后去重l.sort();l.unique();// 输出去重后的列表 l 的内容for (int n : l) {std::cout << n << ' ';}std::cout << std::endl;return 0;
}

自定义比较函数

在 `sort`、`merge` 等方法中,可以传递自定义比较函数:

#include <iostream>
#include <list>bool customCompare(int a, int b) {return a > b; // 降序排列
}int main() {std::list<int> l = {1, 3, 2, 5, 4};// 使用自定义比较函数排序l.sort(customCompare);// 输出排序后的列表 l 的内容for (int n : l) {std::cout << n << ' ';}std::cout << std::endl;return 0;
}

总结

`std::list` 是 C++ 标准库中功能强大且灵活的双向链表容器,适用于需要频繁插入和删除操作的场景。在我们实际开发中,根据项目的具体需求选择合适的容器,比如‘std::forward_list’等,可以显著提高代码性能和可维护性。

引用

std::list - cppreference.com

http://www.zhongyajixie.com/news/15900.html

相关文章:

  • 武汉市江汉区建设局网站拼多多seo搜索优化
  • 手机设计网站永久免费域名申请
  • 人力资源网站开发说明书宣传软文模板
  • 做博彩网站代理犯法吗白杨seo教程
  • 腾讯员工月薪多少泉州seo培训
  • 金溪县建设局网站莱芜seo
  • 中企动力网站建设方案软文代写是什么
  • 网站搜索推广销售新闻最新热点
  • wordpress字体抖动哪里能搜索引擎优化
  • 广州做网站企业seo外包软件
  • 重庆网站建设招标重庆网站搭建
  • 2003 您的安全设置不允许网站使用安装网站开发费用
  • 大连微信网站网页广告调词平台
  • 郑州营销网站媒体资源网
  • 静态网站可以做留言板seo快速排名服务
  • 跨境购网站建设产品推广计划怎么写
  • 网站建设详细方案自动点击器永久免费版
  • 清新网站模板太原seo霸屏
  • 网站设计兼职产品免费推广网站有哪些
  • 贵阳两学一做网站网站关键词优化的步骤和过程
  • 怎样让自己做的网站被百度收录洛阳seo博客
  • 什么做直播网站郑州网站技术顾问
  • 青岛市平台公司seo搜索是什么
  • wordpress 写文章seo基础知识培训
  • 东城区网站建设廊坊seo快速排名
  • 那个做网站好百度云盘登录
  • 企业网站打包下载安卓优化清理大师
  • 中文wordpress搭建成都网站排名优化公司
  • 百度只更新快照不收录网站百度小程序seo
  • 济南网站制作网站软文范例大全500