一.数据结构
开始了线性表链式存储结构——链表的学习
- 链表分为单链表、双链表,单链表只有指向后继结点的指针,双链表有指向前驱结点和后继结点的指针域
- 头结点和首结点是不一样的,头结点是指在第一个有效元素之前的结点,首结点是第一个元素的结点
- 单链表在指向后继结点后,不能再访问前驱结点了
- 将结点s插入到结点p之后:
s->next=p->next; p->next=s;
-
删除p结点后的结点:
p->next=p->next->next;
-
建立单链表分为:头插法
L->next=NULL;//头结点 ... s->next=L->next; L->next=s;
尾插法
r=L;//r尾结点指针 ... r->next=s; r=s;
- 线性表的基本算法在单链表上的实现,可以看懂,但是要自己写就比较难了感觉。。。
- 单链表的基本算法实现:以查找和建表两个为基础,依旧是能看懂,不能自己写
- 本周小结,比较了顺序表和链表的区别,对于第一章来说,让我更加理解了顺序存储结构和链式存储结构的区别
- 同样的题目,用顺序表和用单链表实现的算法是不一样的
- 顺序表是类似于数组那样用下标引用,而单链表是用指针域来指向结点
二.C语言
- 结构体是不同类型的数据,将不同类型的数据声明在结构体内
,形成了一个全新的结构体类型,我们通过这个声明的结构体可以定义结构体变量。struct 结构体名称 { 结构体成员 1; 结构体成员 2; 结构体成员 3; };
结构体简单来说就是自定义的数据类型struct 结构体名称 结构体变量名;
- 访问结构体成员用 “ . ”点号
- 结构体会自动初始化,数字型为0,字符型为'\0'
- 结构体可以嵌套使用
- 结构体数组,一个数组,数组的每个元素是结构体类型的
- 结构体指针,指向结构体的一个指针
- 在将结构体的地址赋值给结构体指针时,要使用&
- 通过结构体指针访问结构体成员:
1.(*结构体指针).成员名 2.结构体指针->成员名
注意 :使用 点号(.)只能用于结构体,箭头(->)只能用于结构体指针