按逻辑顺序依次存放的。元素ai的存储地址为:ADRaiADRa1i1k,ADRa1为第一个元素的地址,k代表每个元素占的字节数。顺序表的运算:查找、插入、删除。
14线性链表
数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。结点由两部分组成:1用于存储数据元素值,称为数据域;
2用于存放指针,称为指针域,用于指向前一个或后一个结点。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。链式存储方式即可用于表示线性结构,也可用于表示非线性结构。线性单链表中,HEAD称为头指针,HEADNULL(或0)称为空表。如果是双项链表的两指针:左指针(Lli
k)指向前件结点,右指针(Rli
k)指向后件结点。线性链表的基本运算:查找、插入、删除。
15栈和队列栈:限定在一端进行插入与删除的线性表。
其允许插入与删除的一端称为栈顶,用指针top表示栈顶位置。不允许插入与删除的另一端称为栈底,用指针bottom表示栈底。栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。栈的存储方式有顺序存储和链式存储。栈的基本运算:1入栈运算,在栈顶位置插入元素;
f
2退栈运算,删除元素取出栈顶元素并赋给一个指定的变量;3读栈顶元素,将栈顶元素赋给一个指定的变量,此时指针无变化。
队列:指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。
用rear指针指向队尾,用fro
t指针指向队头元素的前一个位置。队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。队列运算包括:1入队运算:从队尾插入一个元素;2退队运算:从队头删除一个元素。队列的顺序存储结构一般采用队列循环的形式。循环队列s0表示队列空;s1且fro
trear表示队列满。计算循环队列的元素个数:“尾指针减头指针”,若为负数,再加其容量即可。
16树与二叉树
树是一种简单的非线性结构,其所有元素之间具有明显的层次特性。在树结构中,每一个结点只有一个前件,称为父结点。没有前件的结点只有一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度。二叉树的特点:1非空二叉树只有一个根结点;
2r