数组和链表的比较

本文详细比较了数组和链表在创建、赋值、插入、删除、排序和查找等操作上的差异。数组创建简单,利于随机访问和排序,但插入删除效率低且大小固定。链表则在插入删除上更灵活,内存利用率高,但查找效率较低,不适合排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组和链表的比较

1、创建
数组:
在这里插入图片描述
数组建立简单,但是非变长数组需要预先确定数组长度。
链表:
链表的建立相对复杂,它的长度随时可以通过插入和删除改变。
链表分为头结点、首结点、一般结点和尾结点。
链表的每个结点分为数据域指针域两部分。
在这里插入图片描述
这是C语言唯一一处先使用后定义
建立一个链表:
在这里插入图片描述
链表是动态存储的,这时不要free
free在main函数return前即可
在这里插入图片描述
原本头结点就是尾结点
在这里插入图片描述
原本的尾结点成为新的头结点,它数据域里什么也没有,指针域里存放了新结点的地址。
那个新创建的结点就成为新的尾结点。
以此类推。
如果只创建一个头节点,只需:

在这里插入图片描述
2、赋值(输入)/输出
数组:
数组可以在定义时赋值,否则需要对每个元素单独赋值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值