-
类与对象
面对对象程序设计的基本特点: 抽象、封装、继承、多态;
类: 对逻辑上相关的函数和数据的封装,其中的类成员有几种访问控制属性;
对象: 类的对象就是该类的实例化,对象所占据的内存空间只用来存放数据成员;
类的成员函数:
构造函数: 调用时无须提供参数的构造函数统称为默认构造函数;
复制构造函数: 形参是本类对象的引用,以下三种情况时调用:1、用类的一个对象去调用另一个对象;2、函数的形参是类的对象,形实结合时,因为值传递相当于创造了一个新的对象;3、函数的返回值是类的对象是,会创建一个临时对象并对该对象使用复制构造函数;
析构函数:
类的组合: 即一个类内嵌其他类的对象,注意调用构造函数和析构函数的顺序,还有组合类构造函数初始化需要使用初始化列表;
前向引用声明: 只能使用类名作为形参等而不能定义该类的对象,因为此时尚未给出定义;
结构体: 与类的唯一区别在于具有不同的默认访问控制属性;还有和数组一样的初始化方式;
联合体: 其中的数据成员共享同一组内存单元,其成员同时最多只能有一个有意义的;
构造函数定义的类型转换: -
图的存储结构实现
邻接矩阵实现: 1、结点结构:编号和结点信息等;2、图结构:整型二维数组存储边关系、结点数和边数等图信息,结点结构数组存储所有结点;
邻接表实现: 1、边顶点结构:顶点编号,指向下一个边顶点的指针,边信息如权值等;2、主顶点结构:顶点编号,顶点信息,指向第一个边顶点的指针;3、图结构:主顶点数组,结点数和边数图等图信息; -
图的深度优先遍历(DFS)实现
和二叉树的先序遍历相似,先访问结点,然后对对该结点的所有边用循环遍历访问。
20200329
最新推荐文章于 2020-03-31 19:43:56 发布