一.在赶C语言的进度
1.学习了p36快速排序程序怎么去实现
- 先找一个基准点,将序列分为左右两边,从左到右找大于基准点的数(i),从右到左找小于基准点的数(j)
- 将找到的两个数交换
- 直到 i>j 时结束第一趟循环 ,这时左边序列都是小于基准点的,右边序列都是大于基准点的
- 遍历左边数组,执行该函数
- 遍历右边数组,执行该函数
2.p37动态内存管理1
- molloc函数:申请动态内存空间,不会初始化,里面的数据是随机的,申请的空间存放在堆上,返回的是指向这块内存空间的指针
- free函数:释放申请的动态内存空间
- 内存泄漏:隐式内存泄漏(未使用free释放地址)、内存丢失(只有ptr知道指向的动态地址,但ptr却指向了另一个地址)
3.p38动态内存管理2
-
malloc 可以申请一块任意尺寸的内存空间
-
malloc并不会初始化申请的内存空间,可以使用memset函数初始化该空间
-
mem开头的函数和str开头的函数用法类似,注重空间的处理用mem,注重字符串的处理用str
-
calloc函数:申请动态内存空间并初始化为0
-
realloc函数:重新申请动态内存空间,会将之前的数据拷贝到新的地址中
二.数据结构
1.开始了线性表的学习,对线性表的定义有了一定的了解
2.线性表的顺序存储结构——顺序表
3.顺序表基本运算的实现,怎么建立顺序表,基本运算的算法(初始化、注销、查空表、长度、输出、查元素值,查是否有该数据、插入、删除),对如何实现这些基本算法有了初步的了解
4.这一节采用的是顺序表指针方法,传递的不是顺序表本身Q,而是顺序表的指针L