C语言与JS中链表与数组

不管是JS中还是C语言中都有链表和数组的概念,这应该是计算机里面涉及到的数据结构与概念

只不过JS是一种弱语言,它只有数组这一种数据结构是JS内置的,JS也可以通过自定义类的方式创建链表,C语言是一门强语言类型,涉及到指针和内存的地址,也就是操作硬件方面的内容,所以要操作内存空间,能直接操作计算机的内存空间也就只有C语言和C++了(C#不知道)

数组的概念:

数组是一种线性数据结构,它由相同类型的元素组成,并按照一定顺序存储在内存中。数组的特点是具有固定的大小,即在创建数组时需要指定数组的大小。数组可以通过索引访问和修改元素,索引从0开始,最大索引为数组大小减1。数组的优点是随机访问元素非常高效,但缺点是插入和删除操作比较低效,需要移动其他元素。(这是Chatgpt 的解释,怎么样是不是不讲人话)

                                                   图1 数组结构图(图片来自与《算法图解》)

数组就像在电影院看电影,一排同学按照序号坐在第1排的位置,重点是我们用索引(下标)访问数组里面的元素,数组的索引从0开始,优点当然是因为它的数据结构是按顺序来的,访问这种数据结构当然比较快啦。就像按序号找人,每个人对应一个序号,只要找到序号就能找到这个人,而且这几个人还在同一个位置,缺点也很明显,就是不能随意去修改它们的位置

 

 上图就是我对数组的理解

链表的概念:

链表是一种动态数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表的特点是每个节点在内存中可以分散存储,节点之间通过指针连接。链表的大小可以动态增长和减小,不需要预先指定大小。链表的优点是插入和删除操作比较高效,不需要移动其他节点,但缺点是访问元素需要从头开始遍历链表。

链表的概念就像一组同学去电影院去看电影 ,同学不按顺序坐,只要看到有空位就坐上去直到电影院的座位坐满为止。

 优点只要电脑有内存就能放下数据,缺点是访问效率比较低因为它是随意分配的。它需要指针也就是所谓的定位才能找到位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值