数据结构论坛

首页 » 分类 » 问答 » 还用数组存放数据快来了解一下链表吧数据
TUhjnbcbe - 2024/9/30 15:59:00

为什么要了解数据结构?用数组存放数据不香吗?

1、在函数中使用数组存放数据消耗的是栈空间的内存,一不小心就会产生溢出。

2、存放的数据类型单一,要么是int型要么是char型的数据要么就是各种指针类型,对于多类型的数据来说,数组就捉襟见肘了。

3、如果对数组的某个元素进行增删改查的操作,通常要对整个数组进行遍历、成片数据的移动,效率太低。

链表是C语言中最基础的数据结构,后面的双向链表、二叉树都是由单向不循环链表拓展出来的。对于刚学习完语言基础语法的同学来说,是时候来了解数据结构了。

单向链表:

上图中,所有的节点均保存一个指针,指向其逻辑上相邻的下一个节点(末尾节点指向空)。另外注意到,整条链表用一个所谓的头指针head来指向,由head开始可以找到链表中的任意一个节点。head通常被称为头指针。

了解完单项链表的基本结构后,我们来一步步用C代码实现这种数据结构。

一、节点设计二、初始化空链表我们一般都会用带有头结点的链表存放数据,比较方便使用。

基本思路:

初始化代码:

三、增删结点基本思路(头插):

代码示例:

基本思路(尾插):

示例代码:

四、链表的遍历五、结点的查找结点查找的思路和链表的遍历差不多:

六、结点的删除基本思路:

示例代码:

关于单向链表的一些基本操作就这些,实现了对单向链表的增删改查。如果有哪里没看懂的朋友欢迎留言提问。

1
查看完整版本: 还用数组存放数据快来了解一下链表吧数据