常规数组: 数组元素内容是一种类型的元素,如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
//
指向最后一个
}
使用过后别忘记释放