创建链表需要申请空间的原因是因为链表是一种动态数据结构,它的大小可以根据需要进行动态调整。链表中的每个节点都需要存储数据以及指向下一个节点的指针,因此需要在内存中为每个节点分配一定的空间。
当我们向链表中插入新的节点时,需要为新节点分配内存空间,并将其插入到链表中适当的位置。同样地,当我们删除节点时,需要释放被删除节点所占用的内存空间。
相比之下,数组在创建时需要指定固定的大小,无法动态调整。如果数组大小不够,需要重新创建一个更大的数组,并将原数组中的数据复制到新数组中,这样会造成额外的时间和空间开销。
因此,链表通过动态申请和释放内存空间的方式,可以更加灵活地管理数据,适应不同大小和数量的数据需求。