链表及其应用

知识点:

1.链表

理解什么是“链表”之前,先弄清楚c语言中的“结构体指针”是什么?

 

”结构体“好懂,就是类似于这样的东西: ,把不同基本类型的变量打包。

 

“结构体指针”,顾名思义,就是指向结构体的指针。

 

好了,现在就可以把链表中的一个结点看作一个结构体,这个结构体有这样的特征:包含数据域和指针域,数据域记载有关本结点的信息,指针域就是一个指针变量,指向后继结点,嗯,跟老鹰捉小鸡的队形差不多。

 

当然,链表中每个结点的特征并不是如上完全一样的,头结点有个叫头指针的指向它,尾结点的指针域为null。

 

画了个粗糙的图(链表)

链表及其应用2.链表分类

2.1 静态链表:“事先安排好”,链表中的结点在程序中定义声明,不能临时开辟;

 

2.2 动态链表:“用到的时候再说”,链表中的结点能够临时创建,比如c语言中用malloc()函数动态分配空间。

3.学完了链表基本知识,好像没啥可玩的了,不写点代码实践一下也只是纸上谈兵哩,刚好碰上一道简单的题目,强行运用链表去做,贴一下代码纪念这美好的午间(这已经是我第四次编辑这个内容了。。。每次都有按“保存修改”的我,实在不明白为什么发布之后修改的内容全部!全部!全部!不见了,魔鬼)

题目:输入n个数,输出前n-1个数中“和第n个数相等的”数。

思路:用链表存储输入的数,接着就是链表的相关操作,包括定义结点,声明结点,插入结点。

链表及其应用

链表及其应用结果:

链表及其应用

后记:希望这篇博文对学习链表的宝宝有一点点参考价值,加油各位!