类模板->容器,函数模板->算法

1.函数模板:

使用情况:算法逻辑一致,数据类型不一致,需要写多个重载函数,带来数据冗余和更改时的便利

template <typename T>  

编译器会置换T,但需要注意运算符是否重载

2.类模板:

template <typename T>   class类名{类成员声明}

3.线性群体的概念

多个数据元素的群体

线性群体:有一定规律的群体

直接访问、顺序访问、索引访问

4.直接访问的线性群体:通用数组类:动态数组类(在STL中为vector)

  • 为甚么有的函数返回为引用: 因为一个函数返回值为一个对象的值,那就是右值,不能成为左值,若返回值为引用,通过引用可以改变对象的值,因此为左值
  • 右值就是一个临时变量(后面将详细的解释),只有临时地址空间,左值有其地址空间

5.顺序访问的线性群体:链表类

结点:数据,指向下一个节点的指针

便于插入删除

6.栈类模板:后进先出

7.队列类:先进先出

循环队列

8.排序:比较大小、调整元素在序列中的位置

插入排序:

选择排序:在待排序序列中,选择最小的元素交换

交换排序:(冒泡排序)两两比较,若不满足次序,则交换,直到全部满足次序

9.查找:

顺序查找:没有排过序的查找

二分查找:已排序的序列,先找中点位置,比较中点元素跟待找元素的大小

 

posted on 2019-01-09 17:00  柠檬檬檬  阅读(263)  评论(0编辑  收藏  举报