摘要: 一、什么是双向链表? 双向链表(double linked list)是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。所以在双向链表中的结点都有两个指针域,一个指向直接后继,另一个指向直接前驱。 既然单链表也可以有循环链表,那么双向链表当然也可以是循环表。 线性表的双向链表存储结构如下: 阅读全文
posted @ 2019-01-23 15:42 fengMisaka 阅读(522) 评论(0) 推荐(0)
摘要: 一、什么是循环链表? 将单链表中终端结点的指针端自空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为 单循环链表 ,简称 循环链表 (circular linked list)。 相比单链表,循环链表解决了一个很麻烦的问题。 即可以从任意一个结点出发,而不一定是要从头结点出发, 阅读全文
posted @ 2019-01-23 14:33 fengMisaka 阅读(1261) 评论(0) 推荐(0)
摘要: 一、什么是单链表? 单链表:使用链式存储结构的线性表。单链表中的数据是以结点来表示的,每个结点的构成:数据域(数据元素的映像) + 指针域(指示后继元素存储位置)。如果单链表不做特别说明,一般指的是 动态 单链表。 在 C 语言中可用结构指针来描述单链表: 从这个结构定义中可以看出, 结点由存放数据 阅读全文
posted @ 2019-01-22 23:08 fengMisaka 阅读(2645) 评论(0) 推荐(0)
摘要: 一、什么是顺序表? 使用 顺序存储方式 的顺序表即为 顺序表 ,存取时间性能为 ,示意图如下所示: 二、顺序表的基本操作(用静态数组实现) 在编写顺序表的基本操作函数前,有几个注意点: 插入操作中,需考虑顺序表已满的情况,删除、获取操作中,需考虑顺序表为空的情况; 在各操作中,当涉及到位置 时,都应 阅读全文
posted @ 2019-01-22 15:23 fengMisaka 阅读(2291) 评论(0) 推荐(0)
摘要: 线性表是数据结构中最常用和最简单的一种结构。 一、线性表的定义 线性表,从名字上你就能感觉到,是具有像线一样的性质的表。例如一个班级的小朋友,一个跟着一个排着队,有一个打头,有一个收尾,当中的小朋友每一个都知道他前面一个是谁,他后面一个是谁,这样如同有一根线把他们串联起来了,就可以称之为线性表。 线 阅读全文
posted @ 2019-01-22 00:31 fengMisaka 阅读(850) 评论(0) 推荐(0)
摘要: 在《数据结构》课程中,谈到算法是为了帮助理解好数据结构,并不会详细谈及算法的方方面面。 算法:算法是解决特定问题求解步骤的描述, 在计算机中表现为指令的有限序列, 并且每条指令表示一个或多个操作。 1 两种算法的比较 现在要求你写一个求 1+2+3+……+100 结果的程序,你应该怎么写呢? 大多数 阅读全文
posted @ 2019-01-21 23:58 fengMisaka 阅读(788) 评论(0) 推荐(0)
摘要: 1 数据结构有什么用? 先思考这个问题,假如你开发一个客服电话系统,其中有一个菜单排队模块,功能主要是要设计一张客户排队表,每有一个客户来电,就需要添加记录客户的编号、姓名、电话等信息,并能够实现查询和删除,你将如何设计这张客户排队表? 这时候就要用到数据结构了,一般最先想到的就是使用数组,但是实际 阅读全文
posted @ 2019-01-21 15:40 fengMisaka 阅读(527) 评论(0) 推荐(0)
摘要: 重载,覆盖(重写),隐藏(重定义) 这几个名词看着好像很像,不过其实差别很大! 一、重载 (1) 概念: 在同一个作用域内;函数名相同,参数列表不同(参数 个数不同 ,或者参数 类型不同 ,或者 参数个数和参数类型都不同 ),返回值类型可相同也可不同;这种情况叫做c++的重载! (2) 特征: 在同 阅读全文
posted @ 2019-01-19 17:37 fengMisaka 阅读(2106) 评论(0) 推荐(1)
摘要: 以下分析一下,声明对象指针,调用构造、析构函数的多种情况,先定义以下的一个基类与派生类。 c++ CBase CBase1 = NULL; / 输出结果: (NULL) / c++ CBase pCBase = new CDerived(); delete pCBase; / 输出结果: CBase 阅读全文
posted @ 2019-01-17 21:23 fengMisaka 阅读(2476) 评论(0) 推荐(1)
摘要: 一、概述 STL算法部分主要由头文件 \,\,\ 组成。要使用 STL中的算法函数必须包含头文件 \,对于数值算法须包含 \,\ 中则定义了一些模板类,用来声明函数对象。 二、常用算法介绍 STL 中算法大致分为四类: 非可变序列算法:指不直接修改其所操作的容器内容的算法。 可变序列算法:指可以修改 阅读全文
posted @ 2019-01-13 22:25 fengMisaka 阅读(11384) 评论(0) 推荐(5)