06 2019 档案
摘要:算法: 狭义的算法是与数据的存储方式密切相关 广义的算法与数据的存储方式无关 泛型: 利用某种技术达到的效果就是: 不同的存储方式,执行的操作是一样的 数据结构 狭义: 数据结构是专门研究数据存储的问题 数据的存储包含两个方面: 个体的存储 + 个体关系的存储 广义: 数据结构既包含数据的存储也包含
阅读全文
摘要:#include struct BTNode { char data; struct BTNode * pLchild; //p是指针L是左,child是孩子 struct BTNode * pRchild; }; struct BTNode * CreateBTree(); void PreTraverseBTree(struct BTNode *); void ...
阅读全文
摘要:非线性结构 树 树定义 专业定义:1. 有且只有一个称为根节点 2. 有若干个互不相交的子树,这些子树本身也是一棵树 通俗的定义:1. 树是由节点和边组成 2. 每个节点只有一个父节点但可以有多个子节点 3. 但有一个节点例外,该节点没有父节点,此节点称为根节点 专业术语: 深度:从根节点到最底层节
阅读全文
摘要:函数调用 当在一个函数的运行期间调用另一个函数时,在运行被调用函数之前,系统需要完成三件事: 1. 将所有的实际参数,返回地址等信息传递给被调函数保存 2. 为被调函数的局部变量(也包括形参)分配存储空间 3. 将控制转移到被调函数的入口 从被调函数返回主调函数之前,系统也要完成三件事: 1. 保存
阅读全文
摘要:递归 定义:一个函数自己直接或者间接调用自己 递归满足的三个条件: 1. 递归必须有终止条件 2. 该函数所处理的数据规模必须在递减 3. 这个转化必须是可解的 循环和递归 所有的循环都可以转化为递归,递归不一定都可以转化为循环 递归: 易于理解, 速度慢, 存储空间大 循环: 不易理解, 速度快,
阅读全文
摘要:#include #include #include #include typedef struct Queue { int * pBase; //数组的首地址 int front; int rear; }QUEUE; void init(QUEUE * ); bool en_queue(QUEUE *, int ); void traverse_queue(...
阅读全文
摘要:#include #include #include #include typedef struct Node { int data; struct Node * next; }NODE, *PNODE; typedef struct stack { PNODE pTop; PNODE pBottom; }STACK, *PSTACK; void i...
阅读全文
摘要:看懂程序的方法: 1. 看流程(即步骤) 2. 看功能 3. 试数 4. 敲,试错(如果实在不会看懂程序再敲) 算法: 狭义的算法是与数据的存储方式密切相关 广义的算法与数据的存储方式无关 泛型: 利用某种技术达到的效果就是: 不同的存储方式,执行的操作是一样的 数据结构 狭义: 数据结构是专门研究
阅读全文
摘要:对一个链表的操作: 创建一个链表,遍历输出链表的每个元素,对链表的增,删,排序
阅读全文
摘要:定义:n个结点离散分配,彼此通过指针相连, 每个结点只有一个前驱节点, 每个结点只有一个后续结点, 首节点没有前驱节点, 尾结点没有后继结点 专业术语: 首节点:第一个有效节点 尾结点:最后一个有效节点 头结点:头结点的数据类型和首节点类型一样 第一个有效节点之前的那个节点 头结点并不存放数据 头结
阅读全文
摘要:结构体 为什么会出现结构体 为了表示一些复杂的数据,而普通的基本类型的变量无法满足要求 什么叫结构体 结构体是用户根据自己的实际需要定义的复合数据类型 如何使用结构体 两种方式: struct Student st = {1000, "zhangyan", 20}; struct Student *
阅读全文
摘要:专题: 动态内存分配(重点) 传统数组的缺点: 1.数组长度必须事先制定,且只能是常数,不能是变量 例:int a[5];//OK int len = 5; int a[len]; //error 2.传统形式定义的数组,该数组的内存程序员无法手动释放 在一个函数运行期间,系统为该函数中数组所分配的
阅读全文
摘要:1. 指针的重要性: 表示一些复杂的数据结构(学数据结构必须学指针) 快速的传递数据 使函数返回一个以上的值 能后方便的处理字符串 是理解面向对象语言中的基础(java) 总结:指针是c语言的灵魂 2. 指针的定义 (1)地址 内存单元的编号 从零开始的非负整数 范围:4G(0-4G-1) 控制线:
阅读全文
摘要:1. 指针与指针变量的区别: 指针就是地址,地址就是指针 地址就是内存单元的编号 指针变量是存放地址的变量 指针和指针变量是两个不同的概念 注意:通常我们叙述时会把指针变量简称为指针,实际它们的含义并不一样
阅读全文
摘要:使用scanf输入时应注意的问题 1. scanf("%c%c%c",&c1,&c2,&c3); 在执行此函数时应该连续输入三个字符,中间不要有空格。如果有空格,就不对了, 如:a b c 第1个字符‘a’送给c1,第2个字符是空格符' ',送给c2,第3个字符'b'送给c3 提示:输入数值时,在两
阅读全文