目录

  • 一、学习的知识点
    • 模板的继承
      • 1类模板继承类模板
      • 2类模板继承普通类
      • 3普通类继承类模板
    • 链表模板
      • 类模板
      • 类模板实现
      • 添加结点
      • 删除结点
  • 二、上课没有听懂或者没有理解的地方
  • 三、当天学习的收获
  • 四、作业的思路、不会的地方
  • 五、其他需要反馈的问题

一、学习的知识点

模板的继承

1类模板继承类模板

//类模板
template <class T,class T>
class CComplex
{public:CComplex();CComplex(T real,T1 imag);private:T real;T1 imag;
};//类模板继承类模板
template <class T,class T1>
class DComplex:public CComplex<T,T1>
{public:private:
};

2类模板继承普通类

//类模板继承普通类
template <class T,class T1>
class CComplex:public Complex
{public:private:T a;T1 b;
};

3普通类继承类模板

//普通类继承类模板 基类里面的数据类型要初始化
class FComplex:public CComplex<int,double>
{public:
private:
};

链表模板

类模板

类模板中的都是函数模板,实现前要加 template

//结点类模板的定义
template <class T>
class Node
{public:Node();~Node();T pdata;Node<T> *pnext; //下一个结点的地址Node<T> *pre;  //前一个结点的地址
};
//链表类模板的定义
template <class T>
class CList
{public:CList();~CList();void addNode(T pdata);int getCount();T getNode(int index); //获取结点,返回的类型为Tint removeIndex(int index);
private:Node<T> *head;//链表的头结点int icount;//结点数
};

类模板实现

//类模板实现
template <class T>
Node<T>::Node()
{this->pre=NULL;this->pnext=NULL;
}
//构造函数模板 初始化
template <class T>
CList<T>::CList()
{this->head=new Node<T>;this->head->pre=head;this->head->pnext=head;this->icount=0;
}

添加结点

template <class T>
void CList<T>::addNode(T pdata)
{//第一步 创建新节点Node<T> *newNode=new Node<T>;//第二步 找尾巴结点 Node<T> *ptemp=head;while(ptemp->pnext!=head) //判断当前结点的下一个是否是头,是头结点,就找到了尾巴{ptemp=ptemp->pnext;}//加新节点newNode->pre=ptemp;newNode->pnext=head;newNode->pdata=pdata;ptemp->pnext=newNode;head->pre=newNode;this->icount++;
}

删除结点

template <class T>
int CList<T>::removeIndex(int index)
{Node<T> *ptemp=head;int icount=0;while(ptemp->pnext != head){ptemp=ptemp->pnext;icount++;if(icount==index){ptemp->pre->pnext=ptemp->pnext;ptemp->pnext->pre=ptemp->pre;delete ptemp;return 1;}}return -1;
}

二、上课没有听懂或者没有理解的地方

三、当天学习的收获

双向链表模板与其基本操作

四、作业的思路、不会的地方

参考之前的

五、其他需要反馈的问题

200917阶段一C++双向链表模板相关推荐

  1. binarytreenode”使用 类 模板 需要 模板 参数列表_c++1117 模板核心知识(一)—— 函数模板...

    目录 定义函数模板 使用函数模板 两阶段翻译 Two-Phase Translation 模板的编译和链接问题 多模板参数 引入额外模板参数作为返回值类型 让编译器自己找出返回值类型 将返回值声明为两 ...

  2. 前端模板引擎Thymeleaf快速入门

    文章目录 1. Thymeleaf特点 2. 提供数据 3. 引入启动器 4. 静态页面 5. 测试 6.模板缓存 1. Thymeleaf特点 简单说, Thymeleaf 是一个跟 Velocit ...

  3. 【手绘漫画】面试必考之手撕双链表(解题模板和深度剖析),(LeetCode 707)

    文章目录 图解算法与数据结构 1.前言 2.代码 3.正文 4.实例 图解算法与数据结构 1.前言 今天开始链表,这一讲是单链表,下一讲是双链表. 下面一起来看看吧!!! 2.代码 模板: //C++ ...

  4. D3D11的深度模板缓冲

    创建深度模板缓冲,随后创建深度模板视图并将它绑定到管线的OM阶段.绑定深度模板视图到OM阶段将会运行它检测渲染目标上的每个像素片段的深度值.若在渲染目标上的点内有不止一个像素片段,深度值最低的像素(离 ...

  5. C/C++内存管理与函数模板

    C/C++内存管理与函数模板 文章目录 1.C/C++内存分布 2.C语言中动态内存管理方式 3.C++内存管理方式 4.operator new和operator delete函数 5.内存泄漏 6 ...

  6. Spring Boot下载Excel模板,内容乱码解决方法

    昨天说了下载excel模板是空的问题以及解决方案,今天突然想起来在本地开发时遇到的一个小坑(其实还是自己见识的太少而已),问题是这样的: 在开发阶段,将excel模板放到项目中,然后读取下载,发现下载 ...

  7. C++模板类详解及注意事项

    C++模板类 C++中有一个重要特性,那就是模板类型.类似于Objective-C中的泛型,C++通过类模板来实现泛型支持.它使用参数化的类型创建相应的函数和类,分别称之为函数模板和类模板. 模板是一 ...

  8. dx12 龙书第十一章学习笔记 -- 模板

    模板缓冲区是一种"离屏"(off-screen)缓冲区,我们可以用它来实现一些特殊的效果.模板缓冲区.后台缓冲区以及深度缓冲区都有着相同的分辨率,所以三者相同位置上的像素就能一一对 ...

  9. C++模板编程Demo

    PS:今天在网上看到一篇讲C++模板编程的博客,还算是比较的通俗易懂,在这里留一份,没事看看...... 当我们越来越多的使用C++的特性, 将越来越多的问题和事物抽象成对象时, 我们不难发现:很多对 ...

最新文章

  1. GLSL. 语法基础
  2. layui关闭表格编辑_告别复制粘贴,表格再多也能快速合并!
  3. 第一份工作是选择安逸,还是勇敢尝试?
  4. Spark 调用 hive使用动态分区插入数据
  5. atom 快速编写html,Atom 编辑器自定义代码段(snippet)
  6. 4月1日起 理想ONE零售价由33.8万元上调至34.98万元
  7. 您的包裹“ MySQL灵魂十连” 待签收
  8. Kylin 对维度表的的要求
  9. 爬虫python下载视频_利用python爬虫通过m3u8文件下载ts视频
  10. 电工知识:3种方法测电容的好坏,万用表三个档位的巧妙应用
  11. P1347 排序(topo)
  12. 目标检测中文类别--在图片中添加汉字
  13. 常说的LDO电路是啥?(简单版)
  14. 信息抽取之实体消歧,统一
  15. 各大浏览器清除缓存(cache)详细步骤
  16. SQLServer uniqueidentifier 类型
  17. ubuntu下安装google拼音输入法
  18. 【BZOJ1791】【IOI2008】【基环树】island(status第一速度)
  19. 4月17日黑客攻击事件简讯
  20. 45个jQuery的导航插件和教程

热门文章

  1. 在Tomcat下JSP、Servlet和JavaBean环境的配置
  2. How to mount HFS EFI on macOS
  3. [APIO2018] Duathlon 铁人两项
  4. 饿了么CTO张雪峰:允许90后的技术人员“浮躁“一点
  5. FFMPEG系列课程(一)打开视频解码器
  6. haproxy配置参数详解
  7. C# Stream 和 byte[] 之间的转换(文件流的应用)
  8. 数据库时间字段排序问题
  9. Github 上 36 个最实用的 Vue 开源库
  10. html+下拉箭头样式,HTML选择下拉箭头样式