牛骨文教育服务平台(让学习变的简单)

容器的存储分为顺序存储和链式存储

一、顺序存储结构

   从数据结构的角度来说顺序储存结构的存储空间固定,可扩展性差,但是如果数据元素个数已知,较链式存储节省空间。

   它的优点是随机读取任意一个元素(因为元素时顺序存储的,所以元素的存储位置之间有一定的关系)但是顺序存储的缺点是删除、插入操作需要花费很多时间在移动元素上。

   STL中的vector就是典型的顺序存储结构。

二、链式存储结构

对于链式存储而言,插入和删除元素开销小,操作简便,最大特点就是插入、删除运算方便,可扩展性强。STL中list、map就是典型的链式存储结构。

       下面是它的特点:

       1.比顺序存储结构的存储密度小 (每个节点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序存储比链式存储能存得更多)。

       2.逻辑上相邻的节点物理上不必相邻。

       3.插入、删除灵活 (不必移动节点,只要改变节点中的指针)。

       4.查找结点时链式存储要比顺序存储慢。

       5.每个结点是由数据域和指针域组成。

三、结论

  综上所述,如果元素个数已知,且插入删除较少的可以使用顺序结构,而对于频繁有插入删除操作,元素个数未知的,最好使用链式结构,编程时可结合要处理的数据的特点选择或设计数据结构的。