数据结构 2.2线性表的顺序表示和实现 221顺序存储的线性表( Sequential Lists) 把线性表的结点按逻辑顺序依次存放在一组 地址连续的存储单元里。用这种方法存储的线性 表简称顺序表。线性表的起始地址称作线性表的 基地址。 假设线性表的每个元素需占用L个存储单元, 则线性表中第j+1个数据元素的存储位置 Loc(a;+1)和第个数据元素的存储位置Loc(a 之间满足下列关系: Loc(ai+1)=Loc(ai+ L 线性表的第个数据元素a的存储位置为: Loc(ai=Loc(ai)+(i-1)*L
数据结构 tjm
数据结构 例:有一线性表为 1 b+L (anaya aaja. a a) G 2 由于C语言中的一维数 组也是采用顺序存储表 示,故可以用数组类型b+(i-)L 来描述顺序表 all- b+(n-IL n an- b+nL
数据结构 tjm
数据结构 线性表的顺序存储的c语言描述: tf define list Init Size 100 typedef LISTINCREMENT 10; typedef struct ElemType *elem int length; int listsizej 3 Sqlistr
数据结构 tjm
数据结构 2.22顺序表上实现的基本操作 线性表的初始化操作 netList(&L Status InitList Sq sqlist &L)t L elem=(Elem Type *)malloc(LIST_INIT_SIZE *sizeof(ElemType)i If(!Lelem) exit(OVERFLOW); Llength=O; L Listsize:LIST INIT sIze, return OK; 3//InitList Sq
数据结构 tjm
数据结构 线性表的查找操作: LocateElem (L, e, compare) 算法参见P25。 以下主要讨论线性表的插入和删除两种运算。 1、插入 线性表的插入运算是指在表的第 i(1≤i≤n+1)个位置上,插入一个新结点x,使 长度为n的线性表 9■■■9 a i-1, aj, ■■■ n 变成长度为n+1的线性表 1 3i-1,x,a ■■■
数据结构 tjm