摘要: 定义:一个函数直接或间接调用自己 递归需要满足的三个条件: 1.递归必须有一个明确的中止条件 2.该函数所处理的数据规模必须在递减 3.这个转化必须是可解的 循环和递归: 递归: 易于理解 速度慢,存储空间大 循环: 不易理解 速度快,存储空间小 举例: 1.求阶乘 这一个所知道的信息就是 n! = 阅读全文
posted @ 2017-07-30 00:11 startor 阅读(2263) 评论(0) 推荐(0) 编辑
摘要: 定义:一种可以实现“先进先出”的存储结构 分类 链式队列 -- 用链表实现 静态队列 -- 用数组实现 静态队列通常都必须是循环队列 循环队列的讲解: 1.静态队列为什么必须是循环队列 2.循环队列需要几个参数来确定 需要两个参数来进行确定:front rear 3.循环队列各个参数的含义 2个参数 阅读全文
posted @ 2017-07-28 22:42 startor 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 栈的定义: 一种可以实现 " 先进后出 " 的存储结构。 栈类似于箱子 栈的分类(主要是看存储的方式连续还是不连续): 静态栈:以数组的形式生成的栈。 动态栈:以链表的形式生成的栈。 栈的算法: 出栈 压栈 栈表的实现: 阅读全文
posted @ 2017-07-25 21:33 startor 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 特点:用一组任意的存储单元存储线性表的数据元素,这组存储单元可以存在内存中未被占用的任意位置。 存取数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域中存储的信息称为指针或链。这两部分信息组成数据元素称为存储映像,称为结点。 单链表 因为每个结点中只包含一个指针域,所以称为单链表。 阅读全文
posted @ 2017-07-25 10:14 startor 阅读(456) 评论(1) 推荐(0) 编辑
摘要: 这里不再赘述,直接上代码。 这应该是一个最原始的代码,如果楼主总结的有错误的话,请@楼主告知。谢谢! 阅读全文
posted @ 2017-07-25 10:13 startor 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 链式存储结构的定义 1.概念定义: - n个结点离散分配 - 彼此通过指针相连 - 每个结点只有一个前驱结点和一个后继结点 - 首结点没有前驱结点,尾结点没有后继结点 2.专业术语 -首结点:第一个有有效数据的结点 -尾结点:最后一个有有效数据的结点 -头结点:第一个有效结点之前的那个结点,头结点并 阅读全文
posted @ 2017-07-24 17:51 startor 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 不多说直接上代码: 这一个主要就是和上面的顺序表相互补充,可以相互借鉴,这个应该是最原始的版本了. 如果有问题请@楼主。 阅读全文
posted @ 2017-07-24 10:31 startor 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 指针 指针的重要性 指针是C语言的灵魂 定义 地址 内存单元的编号 从零开始的非负整数 范围:0 FFFFFFFF(0 4G 1) 指针 指针就是地址,地址就是指针 指针变量是存放内存单元地址的变量 指针的本质是一个操作受限的非负整数 分类 1.基本类型指针 基本概念: int i = 10; in 阅读全文
posted @ 2017-07-23 18:17 startor 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 数据结构 阅读全文
posted @ 2017-07-23 10:05 startor 阅读(131) 评论(1) 推荐(0) 编辑
摘要: 顺序存储结构封装需要三个属性: 1.存储空间的起始位置,数组data,它的存储位置就是线性表存储空间的存储位置 2.线性表的最大存储容量,数组的长度MaxSize 3.线性表的当前长度:length 当前长度与数组长度区别:数组长度就是该顺序表的总长度,如果不进行扩容的话,就是不变的。而当前长度在数 阅读全文
posted @ 2017-07-21 21:56 startor 阅读(520) 评论(1) 推荐(0) 编辑