C语言---12单链表---01基本功能实现

  • 数组的分类

  • 静态数组:int arr[10],数据过多造成空间溢出;数据过小空间浪费

  • 动态数组:malloc calloc realloc,合理利用空间,但不能快捷的插入或删除数据(会涉及到大量的数据移动)

一、单链表基本知识

(一)动态链表(线性表)

  • 每个元素实际上是一个单独的结构体对象,而所有对象都通过每个元素中的指针链接在一起

  • 每个结构体对象叫做节点(包含数据域、指针域),节点是动态生成的(malloc)

  • 第一个数据节点叫做链表的首元节点

  • 第一个节点不用于存储数据,只用于代表链表的起始点,则这个节点称为链表的头节点

 (二)特点

  • 链表没有固定的长度,可以自由增加节点

  • 链表能够实现快速的插入删除数据,也就是可以快速的插入和删除链表中的节点

  • 与数组类似,链表也是一种线性数据结构

  • 链表的尾结点的后继必定指向空

(三)区别

  • 数组和顺序表是顺序存储的,也就是内存是连续的

  • 链表是通过指针将不连续的内存连接起来,实现链式存储的

二、头文件

(一)防止头文件重复包含

  • #pragma once是VS自带的防止头文件包含

  • 条件编译的方式

 #pragma once 
 #ifndef LINKLIST
 #define LINKLIST
 #endif // 程序文件的最尾端

(二)一些简单的声明

  • 可以将数据域的类型取别名,方便一改全改

  • 对于输入输出这些需要反复进行的操作,尽量简化,可以通过宏定义完成


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盾山狂热粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值