08 2021 档案
摘要:查找 一、查找基本概念 查找是什么 根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或记录。有主关键字和次关键字之分。 在哪里查找 在查找表查找,查找表:是由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着松散的关系,因此查找表是一种应用灵活方便的结构。 查
阅读全文
摘要:排序 一、什么是排序 将一组杂乱无章的数据按照一定规律顺次排列起来的运算。 注:如果参与排序的数据节点包含多个数据域,那么排序往往是针对其中某个域而言。比如学生有学号、成绩、身高等。 排序的应用非常广泛,比如excel中、文件中、二分法查找等都有用到排序,因此很有必要研究排序。 二、排序的分类 按数
阅读全文
摘要:图(graph) 一、图的定义 用顶点、边构成的存储结构。有: G=(V,E)(graph=(Vertex,Edge)) Vertex就是顶点的有穷非空集合,Edge就是边的的 有穷集合。 二、图的术语 有向图/无向图:无向图中的边叫边,有向图中的边叫弧 完全图:对无向图取任意两个顶点都有一条边相连
阅读全文
摘要:串 一、定义 串是由零个或多个字符组成的有限序列,又叫字符串。和栈、队列一样,既有链式存储也有连续存储,但总的来说,在串这里连续存储优于链式存储,因此我们大都只讨论连续存储。由此我们可知,这里连续存储就和我们熟知的char类型数组一样了。 二、串的操作 栈、队列中更多的是关注单个元素的操作,比如查找
阅读全文
摘要:树(tree) 一、定义 树是n个节点的有限集。n=0时称为空树,n>1时其余结点可分为m(m>0)个互不相交的有限集,其中每个集合本身又是一棵树,并且称为根的子树。形状类似于树状图,如下图所示: 再次强调几点: 1.根节点是唯一的,不可能存在多个根节点。 2.子树的个数没有限制,但是一定不可能相互
阅读全文
摘要:递归 一、概念 一个函数直接或者间接调用自己的方法就称为递归,递归在C语言里是靠栈来实现的。递归的使用可以让人更容易理解程序的作用,但运行速度很慢。 一.五、补充 递归如何靠栈来实现的 以如下斐波那契数列为例讲解 int Fbi(int i) { if(i<2) return i==0? 0 : 1
阅读全文
摘要:队列(queue) 一、定义 一种可以实现“先进先出”(FIFO)的存储结构,即先进入队列的数据先取出来。 二、分类 链式队列:链表实现,实现难度比静态队列低很多 静态队列:数组实现,静态队列通常都必须是循环队列 三、程序实现前该解决的问题 (1)静态队列为什么必须是循环队列? 因为front、re
阅读全文
摘要:栈(stack) 一、定义 一种可以实现“后进先出(LIFO,last in first out)”的存储结构,即后存放进栈的数据要先出去。就像箱子里取书一样,先拿上面的书,再拿下面的书。 二、栈的分类 静态栈:即采用连续存储(数组)的方式实现 动态栈:即采用离散存储(链表)的方式实现,示意图如下
阅读全文
摘要:链表(list) 如下图所示即为普通的单链表结构: 一、概念 N个节点(node)离散分配、彼此通过指针相连、每个节点只有一个前驱节点和一个后驱节点,首节点没有前驱节点,尾节点没有后续节点 专业术语: 首节点:存放第一个有效数据的节点 尾节点:存放最后一个有效数据的节点 头节点:首节点之前的那个节点
阅读全文
摘要:数组(array) 这里所讲的数组和前面知识讲的差不多一样,都是开辟一片连续存储的空间,只不过这里只是认为定义了一个类数组的结构体。 一、利用数组存储数据的优缺点 优点:存取速度快,实现容易理解。 缺点:插入删除元素很慢,因为每次都需要左移或者右移。 二、和数组有关的基本操作 初始化:先声明一个数组
阅读全文
摘要:一、概述 我们通常会把现实中大量而复杂的问题以特定的数据类型和特定的存储结构存放到主存储器中,以及在此基础上为实现某个功能(比如查找某个元素、删除某个元素、对元素进行排序等)而执行相应的操作,这个相应的操作也叫算法。 (1)数据结构 狭义上,数据结构是研究数据存储结构的一门学科;广义上,数据结构还包
阅读全文
摘要:结构体和共用体 一个事物往往都有多个方面的属性,比如学生就有名字、升高、各科成绩等等。用来描述此类数据的数据类型 结构体和共用体 一、结构体 1. 结构体类型 结构体类型是一种数据类型,和整型、字符型、浮点型等一样。我们之所以可以用关键字int、char来定义变量,是因为C编译系统事先定义好了。但是
阅读全文
摘要:位运算 简略的总结和注意事项 1. 位运算只能应用于整型数据,就是把整型数据看成是固定的二进制序列,然后对这些二进制序列各自按位计算。位运算应用有无符号数和有符号数区分 2. 位运算在计算机内部是以补码运算的,然后转换成更符合我们直观的形式表示出来。因此我们实际应用的时候不需要考虑补码原码问题,平常
阅读全文
摘要:库函数 库函数有十种以上那么多,以下将取目前常用部分(取自教材),要用的时候过来寻找就好了。 一、math.h 其中需要注意:数学知识上,三角函数和反三角函数的定义域问题。 二、string.h 其中需要注意:对字符串不能够使用赋值运算和关系运算 三、stdlib.h (1)存储管理函数 使用格式:
阅读全文
摘要:预处理 一、什么是预处理 通常执行流程为:编辑源文件产生.c文件 .c文件通过编译器编译为.obj文件 .obj文件通过连接器生成.exe可执行文件。在编辑之后编译之前执行的指令就是预处理。预处理分为宏定义、文件包含和条件编译等。 二、宏定义 宏定义分为变量式宏定义和函数式宏定义,宏定义习惯上标识符
阅读全文
摘要:#这只是身为我结合书本的个人的理解,肯定有很多错的地方,请勿喷 利用文件 一、文件概述 一个文件是由一系列彼此有一定联系的数据结合构成,有文本文件和二进制文件区分。 (1)文本文件: 文本文件是以字节为单位进行写入或读出,一般来说,说明性的文档、c语言的源程序文件等都是文本文件。 (2)二进制文件:
阅读全文
摘要:#这只是身为我结合书本的个人的理解,肯定有很多错的地方,请勿喷 指针——C语言的灵魂 1. 指针概述 “指针”就是内存地址,使用指针访问变量,就是直接对该内存中的数据进行的操作。相比于之前学习的知识,合理使用指针可以有效提高程序运行的速度和灵活性。 2. 指针变量概述 (1)定义: 专门用来存放另一
阅读全文

浙公网安备 33010602011771号