JS中 数组与链表

JavaScript05

JS中 数组与链表,第1张

常规数组: 数组元素内容是一种类型的元素,如const arr = [1,2,3,4],在存储空间是连续内存的

JS数组: 数组元素内容不是同一种类型的元素,如const arr = ['haha', 1, {a:1}],则在存储上是一段非连续空间。此时,JS 数组不再具有数组的特征,其底层其实是由链表来实现的

总结

链表的插入/删除效率较高,而访问效率较低;

数组的访问效率较高,而插入效率较低

不知道你要怎样组织链表,最简单的单向链表大概的意思如下:

staff*

phead

=

null

//

首指针phead不要变动动,用来遍历和释放,

pcur用来连接链表

staff*

*pcur

=

null

//第一个节点

pcur

=

(staff*)malloc(

sizeof(staff)

)

if(!pcur)

return

//第一个要赋给首指针

phead

=

pcur

//

生成节点,组成链表

while(循环条件

)

{

pcur

->next

=(staff*)malloc(

sizeof(staff)

)

//

分配空间

if(

!cpur

->next

)

//分配失败

break

pcur

=

pcur

->next

//

指向最后一个

}

使用过后别忘记释放