ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:16.27KB ,
资源ID:6062412      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6062412.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(归并La和Lb得到新的线性表LcWord文档下载推荐.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

归并La和Lb得到新的线性表LcWord文档下载推荐.docx

1、int InitList(SqList *L) / 操作结果:构造一个空的顺序线性表 (*L).elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType); if(!(*L).elem) / 存储分配失败 exit(OVERFLOW); (*L).length=0; / 空表长度为0 (*L).listsize=LIST_INIT_SIZE; / 初始存储容量 return OK;int DestroyList(SqList *L) / 初始条件:顺序线性表L已存在。操作结果:销毁顺序线性表L free(*L).elem); (*L).elem

2、=NULL; (*L).listsize=0;int ClearList(SqList *L) 将L重置为空表int ListEmpty(SqList L) 若L为空表,则返回TRUE,否则返回FALSE if(L.length=0) return TRUE; else return FALSE;int ListLength(SqList L) 返回L中数据元素个数 return L.length;int GetElem(SqList L,int i,ElemType *e) 顺序线性表L已存在,1iListLength(L) 。用e返回L中第i个数据元素的值 if(iL.length) ex

3、it(ERROR); *e=*(L.elem+i-1);int LocateElem(SqList L,ElemType e) 返回L中第1个与e相等的数据元素的位序。若这样的数据元素不存在,则返回值为0。 ElemType *p; int i=1; / i的初值为第1个元素的位序 p=L.elem; / p的初值为第1个元素的存储位置 while(i return INFEASIBLE; *pre_e=*-p;int NextElem(SqList L,ElemType cur_e,ElemType *next_e) 若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,

4、否则操作失败,next_e无定义 ElemType *p=L.elem;L.length& if(i=L.length) else *next_e=*+p;int ListInsert(SqList *L,int i,ElemType e) 顺序线性表L已存在,1iListLength(L)+1 。在L中第i个位置之前插入新的数据元素e,L的长度加1 ElemType *newbase,*q,*p;(*L).length+1) / i值不合法 return ERROR; if(*L).length=(*L).listsize) / 当前存储空间已满,增加分配 newbase=(ElemType

5、 *)realloc(*L).elem,(*L).listsize+LISTINCREMENT)*sizeof(ElemType);newbase) / 存储分配失败 (*L).elem=newbase; / 新基址 (*L).listsize+=LISTINCREMENT; / 增加存储容量 q=(*L).elem+i-1; / q为插入位置 for(p=(*L).elem+(*L).length-1;p=q;-p) / 插入位置及之后的元素右移 *(p+1)=*p; *q=e; / 插入e +(*L).length; / 表长增1int ListDelete(SqList *L,int i

6、,ElemType *e) 删除L的第i个数据元素,并用e返回其值,L的长度减1 ElemType *p,*q;(*L).length) / i值不合法 if(*L).length=0) / i值不合法 p=(*L).elem+i-1; / p为被删除元素的位置 *e=*p; / 被删除元素的值赋给e q=(*L).elem+(*L).length-1; / 表尾元素的位置 for(+p;p+p) / 被删除元素之后的元素左移 *(p-1)=*p; (*L).length-; / 表长减1void MergeList(SqList La,SqList Lb,SqList *Lc) / 算法2.

7、2/ 已知线性表La和Lb中的数据元素按值非递减排列/ 归并La和Lb得到新的线性表Lc,Lc的数据元素也按值非递减有序排列 ElemType ai,bj; int La_len,Lb_len; int i=1,j=1,k=0; La_len=ListLength(La); / 求线性表的长度 Lb_len=ListLength(Lb); while(i=La_len)&(j=Lb_len) / La和Lb均非空 GetElem(La,i,&ai); / 取La中第i个数据元素赋给ai GetElem(Lb,j,&bj); / 取Lb中第j个数据元素赋给bj if(ai=bj) / 将La和L

8、b中较小的数赋值给Lc ListInsert(Lc,+k,ai); ListInsert(Lc,+k,bj); +j;=La_len) / 若La中数据元素没有全部赋给Lc,则将剩下的元素都赋给Lc GetElem(La,i+,& while(j=Lb_len) / 若Lb中数据元素没有全部赋给Lc,则将剩下的元素都赋给Lc GetElem(Lb,j+,&void print(ElemType *c) printf(%d ,*c);void main() SqList La,Lb,Lc; int i,j,k; InitList(&La); / 创建空表La成功 请输入La的4个数据元素Plea

9、se enter the La four data elements:); for(j=1;j=4;j+) / 在表La中插入4个元素 scanf(%d,&k); i=ListInsert(&La,j,k);La= / 输出表La的内容 for(i=0;iLa.length;i+) print(&La.elemi);nLb); / 也可不判断是否创建成功 请输入Lb的7个数据元素Please input Lb seven data elements:=7;j+) / 在表Lb中插入7个元素Lb,j,k);Lb= / 输出表Lb的内容 Lb.length;Lb.elemi); i=InitList(&Lc); MergeList(La,Lb,&Lc= / 输出表Lc的内容 Lc.length;Lc.elemi);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2