C语言链表与数组

数组:

  • 优点:存取速度快
  • 缺点:
    1.需要一个连续的很大的内存(因为数组具有连续性,假设int[30000]arry 即需要分配连续的30000个空间,可能不存在)
    2.插入和删除元素的效率低(当删除数组当中的一个元素时,因为数组具有连续性,所以需要后面的元素全部前移一位。同理:插入一位元素时,需要后面的全部后移一位)

链表:

  • 优点:插入删除元素效率高,不需要一个连续的很大内存(链表中一个节点分为两部分,一部分用于存放内容,另一部分用于存放下一节点的地址,指向下一空间,所以不需要连续空间)
  • 缺点:复杂
  • 专业术语:
    首节点:存放第一个有效数据的节点
    尾节点:存放最后一个有效数据的节点
    头节点:1:头结点的数据类型和首节点的类型是一模一样的 2:头节点是首节点前面的节点 3:头节点并不存放有效数据 4:设置头结点的目的是为了方便对链表的操作
    头指针:存放头节点的指针变量

你可能感兴趣的:(积累)