数据结构(一) 线性表

一、线性表

  1、线性表的顺序表示和实现

  2、线性表的链式表示和实现

    线性链表

    循环链表

    双向链表

 

线性表

         线性结构:线性结构中的元素除了第一个和最后一个元素,其它元素都有唯一的直接前驱和直接后继。

    线性表的逻辑结构:由类型相同的数据元素组成的有限序列。

         线性表的实现方法:顺序表和链表

        

顺序表

         线性表的顺序存储结构特点:

(1)    用一组地址连续的存储单元一次存储线性表的元素;

(2)    用元素在存储器中的“物理位置相邻”表示线性表中数据之间的逻辑关系;

(3)    可直接随机存取任一个数据元素,所以线性表的顺序存储是一种随机存取的存储结构;

(4)    在进行插入或删除操作时需要移动大量的数据元素;

        

单链表

         线性表的链式存储结构特点:

(1)    数据元素之间的逻辑关系由节点的后继指针表示,逻辑上相邻的两个元素不要求物理存储位置也相邻。

(2)    每个元素的存储位置由其直接前驱的后继指针所表示;

(3)    链式存储结构是非随机存取的存储结构,存取第i个元素必须从头指针出发进行查找;

(4)    线性表的链式存储结构中的尾节点的直接后继为空。

循环链表

         循环链表的节点结构与单链表相同,与单链表不同的是在循环链表中表尾节点的next指针不为NULL,而是指向头节点。一个空循环链表中,有head->next==head。

         循环链表的操作与线性链表的操作基本相同,只是将算法中循环条件改为tmpPtr是否等于头指针。

双向链表

         双向列表的节点中有两个指针,分别指向前驱和后继,back是指向前驱的指针,next是指向后继的指针。

原文地址:https://www.cnblogs.com/bigbigbigo/p/8616859.html