顺序表-思维导图
第二章 线性表 课后作业:
1、复习观看视频,并完成顺序表部分的章节测试(2.1 2.2.1~2.2.4五个小视频的章节测试) 2、解答下题:
v 线性表L中,若每个元素占用m个存储单元,则 LOC(i+1)=LOC(i)+m LOC(i)=LOC(1)+(i-1)*m LOC(1)是线性表的第一个数据元素的存储位置,通常称为线性表的起始位置或基地址。
设线性表中,数组A的每个数据元素占4个字节,已知Loc(a1)=2000, A的终端结点a5的起始地址为何? 答:2000+(5-1)*4=2016 3、 线性表的定义:
#define maxsize 1024 /*线性表的最大长度*/ typedef int datatype; /*定义表元素类型*/ typedef struct { datatype elem[maxsize]; /*存放表结点的数组*/ int length; /*表长*/ }sequenlist; 删除线性表中第i个结点数据,请将以下程序补充完整:
int Del(sequenlist *L,int i) { int j; if(i<1 || i>L->length) return FALSE;
for(j=i;j<L->length;j++) L->elem[j-1]=L->elem[j] L->length--; return TRUE;
} 在表L的第i个位置插入数据item int Ins(sequenlist *L,int i,datatype item) {int j; if(i<1||i>L->length )return FALSE;
for(j=L->length-1;j>=i-1;j--) L->elem[j+1]=L->elem[j]; L->elem[i]=item; L->length++; return TRUE; } 以上作业下节课请同学来讲解一下。