2021考研数据结构(1)笔记(持续更新ing)
目录
基础篇
变量类型
基本类型:int(整型)、float(存小数)、char(字符串) 定义 int a; 初始化 int a, b, c = 2;
指针型 :存放变量地址。 &取地址符号 定义 int *p; 初始化 p = &a; b = *p // 把*p指向的值赋值类似b=a
NULL 不指向任何地址,值为0且指针初始化使用。
指针看不懂的可以看下面的链接。
版权声明:本文为****博主「南抒一梦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/weixin_39951988/article/details/87773322
构造类型:数组:相同类型的变量构成的变量集 int B[100] // 下标从0开始到99 取值 a = B[0];存值 B[99] = c;
结构体:不同类型构成的变量集 typedef struct {int a; float b; char c; ....}结构体名; 定义S s; 取值 a = s.a 存值 s.a = 1;
typedef struct 结构体名{...; struct 结构体名 *d;}结构体名
void型:定义没有返回值的函数 void Function(){ ... return;//直接跳出函数,不执行接下来的语句 ... }
控制语句
判断语句 if 循环语句 while/for continue //跳过当前循环 break //跳出循环
函数
(注意图中并未改变result的值)
(void类型没有返回值)(左C++语法 右纯C)
(int &r //引用型定义,发生改变且改变后结果重要用它)
(C++)将resul传给r然后&取到result的地址,函数方法里面就可以用r来修改result;
(C)取到result的地址传给指针形参r,*r就是result然后进行+1操作。
(int *&P //同上)
(C++)将指针p传给P然后&取到指针里的地址在*指向这个地址。
(C)将取到指针p的地址,然后传给二级指针P,通过修改*P就修改了p
逻辑结构与存储结构
逻辑结构
逻辑结构:没关系(集合)、一对一(线性表)、一对多(树)、多对多(图)
一对一:A是B的前驱节点,B是A的后继节点
存储结构
顺序结构、链式结构
顺序结构:有顺序、按地址排列,可以随机存取。(线性表、集合) 实现:数组
链式结构:存数据(A、B、C)加下一个节点的地址(ad1、ad2、adx) 实现:结构体
线性表