malloc calloc realloc 开辟空间
free 释放空间
malloc(sizeof(int) * 4);
线性存储结构
顺序表
数组
一维数组
多维数组
链表
是一种物理存储单元上非连续\非顺序的存储结构
链表是由一个一个的结点组成的
每一个结点是由两部分组成 : 数据域 和 指针域
数据域 : 是用来存储结点的数据的
指针域 : 是用来存储下一个结点的地址的
在操作链表时包括有 : 增 删 改 查一系列的操作
在描述链表时会用到一些属性
有头链表/无头链表 有没有头结点的意思
循环链表/不循环链表 链表是否可以构成环
单向链表/双向链表 遍历链表方向
有头单向不循环的链表
--------------------------------------------------------------------------------
创建一个有头单向不循环的链表
1.创建头结点 llist_create();
2.插入数据结点 llist_insert();
先把新创建出的结点挂到链表上,再改变链表之前的结构
头插法{11,22,33,44,55}
把数据结点插入到头结点之后的位置
头结点->NULL
头结点->11->NULL
头结点->22->11->NULL
头结点->33->22->11->NULL
尾插法{11,22,33,44,55}
把数据结点插入到链表最后的位置
头结点->NULL
头结点->11->NULL
头结点->11->22->NULL
头结点->11->22->33->NULL
3.遍历链表 llist_display();
4.销毁链表 llist_destroy();
销毁链表或者删除结点时要注意
单链表再删除时需要一前一后两个指针
=======================================
5.查找结点 llist_find();
6.删除结点 llist_delete();
7.拿出结点 llist_fetch();
==============================
作业
1.把今天讲过的内容完完整整的复习一遍
2.把有头单向不循环链表再重新的写一遍
3.尝试自己搞定有头单向循环链表
==============================