博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组与链表
阅读量:4648 次
发布时间:2019-06-09

本文共 508 字,大约阅读时间需要 1 分钟。

链表和数组一样是一种数据结构。

 

数组是将元素在内存中连续存放,由于每个元素占用内存相同,所以可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。

  

链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。如:上一个元素有个指针指到下一个元素,以此类推,直到最后一个元素。如果要访问链表中一个元素,需要从第一个元素开始,一直找到需要的元素位置。但是增加和删除一个元素对于链表数据结构就非常简单了, 只要修改元素中的指针就可以了。

链表缺点:因为含有大量的指针域,所以占用空间大,同时因为只有头结点(后面说明)是明确知道地址的,所以查找链表中的元素需要从头开始寻找,非常麻烦。

 

从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。

转载于:https://www.cnblogs.com/yadiblogs/p/9564434.html

你可能感兴趣的文章
Leetcode题解(十三)
查看>>
基于EasyNetQ的RabbitMQ封装类
查看>>
ThreadLocal 在web环境下使用的边界问题
查看>>
github ssl验证跳过
查看>>
Linux下使用wget下载FTP服务器文件
查看>>
Java基础 【Arrays 类的使用】
查看>>
MPI 环境搭建问题-运行程序闪退
查看>>
(数据科学学习手札05)Python与R数据读入存出方式的总结与比较
查看>>
面向对象课程 - 寒假第三次作业 - C++计算器项目初始部分
查看>>
Java私塾的一些基础练习题(一)
查看>>
Shell 07 项目案例
查看>>
Dapper基础用法
查看>>
一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(1)--创建和使用可重用工作流...
查看>>
客户端存储
查看>>
实验五 burpsuite重放攻击实验
查看>>
POJ 3624 Charm Bracelet 0-1背包
查看>>
React 使用browserHistory项目访问404问题
查看>>
div动态消失的动画效果
查看>>
Fragment:关于Avoid non-default constructors in fragments的错误
查看>>
[Contest]2017 ACM/ICPC Asia Regional Shenyang Online(01 03 07 09 10 11待补)
查看>>