数据结构
Psycho!
这个作者很懒,什么都没留下…
展开
-
线性表的本质和操作之学习笔记
线性表的本质和操作 生活中的智慧 1、现实生活中的幼儿园老师总会让小朋友以同样的排队次序出现。 线性表的表现形式 1、零个或者多个数据元素组成的集合; 2、数据元素在位置上是有序排列的; 3、数据元素的个数是有限的; 4、数据元素的类型必须相同。 线性表的抽象定义 线性表是具有**相同类型**的n(n>=0)个的数据元素的**有限序列**; 例如:1、2、3、4、5、6、7、8、9.......n.;这样的有限序列 线性表的性质 1、线性表的第一个元素,只有一个后继; 2、原创 2020-09-08 23:16:15 · 157 阅读 · 0 评论 -
数据结构之智能指针
@智能指针 内存泄漏(臭名昭著的Bug) 一、动态申请堆空间,用完后不归还; 二、C++语言中没有垃圾回收的机制; 三、指针无法控制所指堆空间的生命周期。 当代的C++软件平台中的智能指针(需求) 一、指针生命周期结束时主动释放堆空间; 二、一片堆空间最多只能由一个指针标识; 三、杜绝指针运算和指针比较。 智能指针的设计方案 1、通过类模板描述指针的行为; 1)、能够定义不同类型的指针对象; 2、重载指针特征操作符(->和*) 2)、利用对象模拟原生指针的行为; 例题:智能指针的实现 #ifndef原创 2020-09-06 16:44:19 · 162 阅读 · 0 评论 -
数据结构之泛型编程简介
@泛型编程简介 泛型编程的概念 不考虑具体数据类型的编程方式 对与Swap函数可以考虑下面的泛型写法 void Swap (T& a, T& b) { T t = a; a = b; b = t; } Swap泛型写法中的T不是一个具体的数据类型,而是泛型任意的数据类型。 C++中的函数模板 1、一种特殊的函数可用不同类型进行调用; 2、看起来和普通函数很相似,区别是类型可被参数原创 2020-09-06 16:08:40 · 120 阅读 · 0 评论