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

深圳住房与建设局网站/东莞软文推广

深圳住房与建设局网站,东莞软文推广,廊坊网站建设公司,上海做网站较好的公司1 List的介绍 List是stl实现的双向链表,与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢,使用时需要添加头文件,可以遍历。  List是一个十分强大的链表容器概念!可以进行各种遍历、插入、删除、去重、合并、…

1 List的介绍

   List是stl实现的双向链表,与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢,使用时需要添加头文件,可以遍历。  List是一个十分强大的链表容器概念!可以进行各种遍历、插入、删除、去重、合并、拼接、排序等。
   list(链表)也即链式表,在数据结构中,我们知道线性表的物理存储结构有两种,顺序表(数组)和链式表(结点)。链表是在中为每一个元素分配内存,然后利用指针将所有元素串起来。根据这种物理存储结构,我们很容易明白:链表在插入、删除效率上比较高,但没有办法随机访问,因此访问速度慢。顺序表在STL中的实现为vector,其优点是元素访问速度快(元素存储在连续的数组中,可以直接通过索引计算元素地址),但插入、删除效率较低。

由于list是链式存储,因此不能随机访问,也即不支持索引访问

2.List定义和初始化

#include<list>
list<int>lst1;          //创建空list
list<int> lst2(5);       //创建含有5个元素的list
list<int>lst3(3,2);  //创建含有3个元素的list
list<int>lst4(lst2);    //使用lst2初始化lst4
list<int>lst5(lst2.begin(),lst2.end());  //同lst4
或者:
// constructors used in the same order as described above:
std::list<int> first;       // empty list of ints
std::list<int> second (4,100);       // four ints with value 100
std::list<int> third (second.begin(),second.end());  // iterating through second
std::list<int> fourth (third);  // a copy of third// the iterator constructor can also be used to construct from arrays:
int myints[] = {16,2,77,29};
std::list<int> fifth (myints, myints + sizeof(myints) / sizeof(int) );std::cout << "The contents of fifth are: ";
for (std::list<int>::iterator it = fifth.begin(); it != fifth.end(); it++)
std::cout << *it << ' ';std::cout << '\n';

3 List常用操作函数

Lst1.assign() 给list赋值 
Lst1.back() 返回最后一个元素 
Lst1.begin() 返回指向第一个元素的迭代器 
Lst1.clear() 删除所有元素 
Lst1.empty() 如果list是空的则返回true 
Lst1.end() 返回末尾的迭代器 
Lst1.erase() 删除一个元素 
Lst1.front() 返回第一个元素 
Lst1.get_allocator() 返回list的配置器 
Lst1.insert() 插入一个元素到list中 
Lst1.max_size() 返回list能容纳的最大元素数量 
Lst1.merge() 合并两个list 
Lst1.pop_back() 删除最后一个元素 
Lst1.pop_front() 删除第一个元素 
Lst1.push_back() 在list的末尾添加一个元素 
Lst1.push_front() 在list的头部添加一个元素 
Lst1.rbegin() 返回指向第一个元素的逆向迭代器 
Lst1.remove() 从list删除元素 
Lst1.remove_if() 按指定条件删除元素 
Lst1.rend() 指向list末尾的逆向迭代器 
Lst1.resize() 改变list的大小 
Lst1.reverse() 把list的元素倒转 
Lst1.size() 返回list中的元素个数 
Lst1.sort() 给list排序 
Lst1.splice() 合并两个list 
Lst1.swap() 交换两个list 
Lst1.unique() 删除list中重复的元素

4 List使用示例

第一个:遍历list

//迭代器方式

list<int>::iterator it;
list<int>::reverse_iterator rit;
it = second.begin();
it = second.end();
rit = second.rbegin();
rit = second.rend();
 for(list<int>::const_iteratoriter = lst1.begin();iter != lst1.end();iter++){cout<<*iter;   //  要用*  ????}cout<<endl;
第二个
#include <iostream>
#include <list>
#include <numeric>
#include <algorithm>
#include <windows.h>
using namespace std;typedef list<int> LISTINT;
typedef list<int> LISTCHAR;void main()
{//用LISTINT创建一个list对象LISTINT listOne;//声明i为迭代器LISTINT::iterator i;listOne.push_front(3);  // 头部加一个元素listOne.push_front(2);listOne.push_front(1);listOne.push_back(4);listOne.push_back(5);listOne.push_back(6);  // 尾部加一个元素cout << "listOne.begin()--- listOne.end():" << endl;for (i = listOne.begin(); i != listOne.end(); ++i)cout << *i << " ";cout << endl;LISTINT::reverse_iterator ir;cout << "listOne.rbegin()---listOne.rend():" << endl;for (ir = listOne.rbegin(); ir != listOne.rend(); ir++) {cout << *ir << " ";}cout << endl;int result = accumulate(listOne.begin(), listOne.end(), 0);cout << "Sum=" << result << endl;cout << "------------------" << endl;//用LISTCHAR创建一个list对象LISTCHAR listTwo;//声明i为迭代器LISTCHAR::iterator j;listTwo.push_front('C');listTwo.push_front('B');listTwo.push_front('A');listTwo.push_back('D');listTwo.push_back('E');listTwo.push_back('F');cout << "listTwo.begin()---listTwo.end():" << endl;for (j = listTwo.begin(); j != listTwo.end(); ++j)cout << char(*j) << " ";cout << endl;j = max_element(listTwo.begin(), listTwo.end());cout << "The maximum element in listTwo is: " << char(*j) << endl;Sleep(10000);
}

在这里插入图片描述

http://www.lbrq.cn/news/1434529.html

相关文章:

  • 宜昌做网站哪家最便宜/seo关键词排名系统
  • 做交互网站/建网站seo
  • 做网站应该注意哪些问题/免费行情网站
  • 电子商务网站设计与制作/今日头条热搜榜前十名
  • 最简单的做网站/百度开户需要什么条件
  • 奇迹网站自己做/对seo的认识和理解
  • 做安居客网站需要什么浏览器/seo技术经理
  • 网站如何进行优化/企业网站推广效果指标分析
  • 百科网站建设/某个网站seo分析实例
  • 做微博网站/长沙seo咨询
  • 网站的版式设计有哪些/整合营销包括哪三方面
  • 公司网站打不开不知道谁做的/快照关键词优化
  • 如何做淘宝商城网站/好的推广平台
  • 永康做网站的公司/福州网站建设
  • 盘锦做网站的公司/广州网络推广平台
  • 美女色情做视频网站有哪些/黄页引流推广
  • 网站做成app/下载官方正版百度
  • 揭阳建网站/万能推广app
  • 如何提高网站的搜索/东莞免费网站建设网络营销
  • 网站建设新闻/3分钟搞定网站seo优化外链建设
  • 淮北做网站公司/网络营销策略ppt
  • 网站怎样做移动端适配/百度关键词排名提升工具
  • 外贸网店建站模板/新东方
  • 道真住房与城乡建设局网站/西安网络推广营销公司
  • wordpress使用cdn菜单消失/廊坊优化外包
  • 网站运营前期中期后期/谷歌seo是什么
  • 南阳市建设局网站/推广普通话手抄报内容大全资料
  • 房地产网站欣赏/网站优化种类
  • 镇平建设局网站/域名注册网站有哪些
  • 结构设计网站/线上营销策略有哪些
  • 待办事项小程序开发
  • Linux中的日志管理
  • PHP imagick扩展安装以及应用
  • SeaTunnel MCP Server 入选《中国信通院开源商业产品及企业典型案例集(2025)》
  • 北京朝阳区中小学生信息学竞赛选拔赛C++真题
  • Android16新特性速记