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

做毕业设计免费网站建设鄂州网站seo

做毕业设计免费网站建设,鄂州网站seo,青蛙网站建设,一般网站建设公司有哪些目录前言一、关于list1. 简介2. 成员类型二、默认成员函数1. 构造函数1. list()2. list(size_t n,const T& val T())和list(InputIterator first,InputIterator last)2. 拷贝构造函数3. 析构函数4. 赋值运算符重载函数三、迭代器1. 普通对象的正向迭代器2. const对象的正向…

目录

    • 前言
    • 一、关于list
      • 1. 简介
      • 2. 成员类型
    • 二、默认成员函数
      • 1. 构造函数
        • 1. list()
        • 2. list(size_t n,const T& val = T())和list(InputIterator first,InputIterator last)
      • 2. 拷贝构造函数
      • 3. 析构函数
      • 4. 赋值运算符重载函数
    • 三、迭代器
      • 1. 普通对象的正向迭代器
      • 2. const对象的正向迭代器
      • 3. 普通对象的反向迭代器
      • 4. const对象的反向迭代器
    • 四、容量接口
      • 1. empty()
      • 2. size()
    • 五、元素访问接口
      • 1. front()
      • 2. back()
    • 六、修改接口
      • 1. push_front()
      • 2. pop_front()
      • 3. push_back()
      • 4. pop_back()
      • 5. insert()
      • 6.erase()

前言

前面我们已经学习了string和vector的模拟实现和使用,相信对于容器的模拟实现和使用的能力已经上升一定的水平,今天我们要学习的是list的模拟实现,List的模拟实现和string和vector其实没有本质的区别,只是在list的模拟实现过程中,list的迭代器和string和vector有所不同,这是我们实现List的模拟实现中需要重点掌握的,今天学习的List本质就是一个带头双向循环链表。

一、关于list

1. 简介

在这里插入图片描述
list本质就是一个带头双向循环链表,支持在任何位置以O(1)的时间进行插入和删除。

2. 成员类型

在这里插入图片描述
看到上图,我们一定要知道迭代器的类型:list中的迭代器的类型是双向迭代器,其他的迭代器类型好还有:单向迭代器,随机迭代器。

  • 单向迭代器:只支持单向遍历访问的迭代器,只支持++,不支持–
  • 双向迭代器:支持双向访问容器的迭代器,同时支持++和–
  • 随机迭代器:支持随机访问容器的迭代器,同时支持++,–,+,-

二、默认成员函数

1. 构造函数

在这里插入图片描述

1. list()

  • 使用代码
void test_list1()
{// 无参构造函数list<int> lt1;// 创建一个存储int的list对象list<char> lt2;// 创建一个存储char的list对象list<double> lt3;// 创建一个存储double的list对象list<string> lt4;// 创建一个存储string的list对象
}

2. list(size_t n,const T& val = T())和list(InputIterator first,InputIterator last)

  • 使用代码:
void test_list2()
{// 用n个值来构造Listlist<int> lt1(3, 6);// 用3个6来构造一个list对象// 使用一段迭代器区间来构造string s2("hello list::list(InputIterator first,InputIterator last)");vector<char> v2(s2.begin(), s2.end());list<char> lt2(v2.begin(), v2.end());// 遍历// 使用迭代器进行遍历// 遍历lt1cout << "lt1:" << endl;list<int>::iterator lit1 = lt1.begin();while (lit1 != lt1.end()){cout << *lit1 << " ";lit1++;}cout << endl;// 遍历lt2cout << "lt2:" << endl;list<char>::iterator lit2 = lt2.begin();while (lit2 != lt2.end()){cout << *lit2 << " ";lit2++;}cout << endl;// 使用范围for进行遍历cout << "lt1:" << endl;for (auto& e : lt1){cout << e << " ";}cout << endl;cout << "lt2:" << endl;for (auto& e : lt2){cout << e << " ";}cout << endl;}

运行结果:
在这里插入图片描述

2. 拷贝构造函数

在这里插入图片描述
拷贝构造函数和前面的容器样子还是差不多

void test_list3()
{string s("hello list(const list<char>& lt)");list<char> lt1(s.begin(), s.end());list<char> lt2(lt1);cout << "lt1:" << endl;for (auto& e : lt1){cout << e << " ";}cout << endl;cout << "lt2" << endl;for (auto& e : lt2){cout << e << " ";}cout << endl;
}

运行结果:
在这里插入图片描述

3. 析构函数

4. 赋值运算符重载函数

在这里插入图片描述

  • 使用代码:
void test_list4()
{string s("hello list<char>& operator=(const list<char>& lt)");list<char> lt(s.begin(), s.end());list<char> lt1;lt1 = lt;// 调用赋值运算符重载函数cout << "lt:" << endl;for (auto& e : lt){cout << e << " ";}cout << endl;cout << "lt1:" << endl;for (auto& e : lt1){cout << e << " ";}cout << endl;}

运行结果:

在这里插入图片描述

三、迭代器

1. 普通对象的正向迭代器

  • 使用代码:
void test_list5()
{string s("hello list<char>::iterator begin() and end()");list<char> lt(s.begin(), s.end());list<char>::iterator lit = lt.begin();while (lit != lt.end()){cout << *lit << " ";lit++;}cout << endl;
}

运行结果:
在这里插入图片描述

2. const对象的正向迭代器

  • 使用代码:
void test_list6()
{string s("hello list<char>::const_iterator begin() and end()");const list<char> lt(s.begin(), s.end());list<char>::const_iterator lit = lt.begin();while (lit != lt.end()){cout << *lit << " ";lit++;}cout << endl;
}

运行结果:
在这里插入图片描述

3. 普通对象的反向迭代器

使用代码:

void test_list7()
{string s("hello list<char>::reverse_iterator begin() and end()");list<char> lt(s.begin(), s.end());list<char>::reverse_iterator lit = lt.rbegin();while (lit != lt.rend()){cout << *lit << " ";lit++;}cout << endl;
}

4. const对象的反向迭代器

四、容量接口

1. empty()

2. size()

五、元素访问接口

1. front()

2. back()

六、修改接口

1. push_front()

2. pop_front()

3. push_back()

4. pop_back()

5. insert()

6.erase()

http://www.hkea.cn/news/133960/

相关文章:

  • 网站制作 太原网络营销专业课程
  • 做网站去哪个公司网络营销策划书的结构
  • 个人无网站怎样做cps广告深圳全网推广公司
  • 中国人可以做的c2c网站上海网站排名推广
  • 网站建设目标定位公司员工培训方案
  • 美工培训班学百度自然搜索排名优化
  • 网站建设自学多长时间搜索引擎营销的过程
  • 做cpa的网站源码seo的外链平台有哪些
  • 那个网站做外贸最好成都网站建设方案外包
  • 企业网站建设效益分析联合早报 即时消息
  • html5网页成品代码自媒体seo优化
  • 门户网站建设招投标网络seo啥意思
  • 游戏币销售网站建设百度热搜seo
  • 线上投票链接怎么做厦门搜索引擎优化
  • 网页设计课程主要内容seo学校
  • php 深圳 电子商务网站开发seo优化好做吗
  • 网站建设开发技术天津济南网站设计
  • 信息公开网站建设网店推广分为哪几种类型
  • 南皮网站建设价格seo搜索引擎优化方式
  • 网上购物系统的设计与实现论文长沙seo优化公司
  • 风景旅游网页制作素材seo推广灰色词
  • 网站制作网站建设网页设计页面
  • 网站开发兼容极速字体颜色推荐seo平台优化服务
  • wordpress建站流量齐三seo顾问
  • 怎么看一个网站做没做竞价公司网站怎么建立
  • seo神马网站推广器怎么做神马搜索排名seo
  • 桂林漓江景区网站优化推广排名
  • 网站首页模板设计图网络推广平台代理
  • 一女被多男做的视频网站搜全网的浏览器
  • 建设公司网站费用电脑培训课程