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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(华南农业大学数据结构上机实验课答案.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华南农业大学数据结构上机实验课答案.docx

1、华南农业大学数据结构上机实验课答案数据结构上机答案1.1顺序线性表的基本操作#include#include#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemType inttypedef struct int *elem,length,listsize;SqList;int InitList_Sq(SqList &L) L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType); L.length=0; L.li

2、stsize=LIST_INIT_SIZE; return OK;int Load_Sq(SqList &L) int i; if(L.length=0) printf(The List is empty!); else printf(The List is:); for(i=0;iL.length;i+) printf(% d,L.elemi); printf(n); return OK;int ListInsert_Sq(SqList &L,int i,int e) if(iL.length+1) return ERROR; ElemType *newbase,*q,*p; if(L.le

3、ngth=L.listsize) newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType); L.elem=newbase; L.listsize+=LISTINCREMENT; q=&(L.elemi-1); for(p=&(L.elemL.length-1);p=q;-p) *(p+1)=*p; *q=e; +L.length; return OK;int ListDelete_Sq(SqList &L,int i,int &e) ElemType *q,*p; if(iL.length) r

4、eturn ERROR; p=&(L.elemi-1); e=*p; q=L.elem+L.length-1; for(+p;p=q;p+) *(p-1)=*p; L.length-; return OK;int main() SqList T; int a,i; ElemType e,x; if(InitList_Sq(T) printf(A Sequence List Has Created.n); while(1) printf(1:Insert elementn2:Delete elementn3:Load all elementsn0:ExitnPlease choose:n); s

5、canf(%d,&a); switch(a) case 1: scanf(%d%d,&i,&x); if(!ListInsert_Sq(T,i,x) printf(Insert Error!n); else printf(The Element %d is Successfully Inserted!n,x); break; case 2: scanf(%d,&i); if(!ListDelete_Sq(T,i,e) printf(Delete Error!n); else printf(The Element %d is Successfully Deleted!n,e); break; c

6、ase 3: Load_Sq(T); break; case 0: return 1; 1.2合并顺序表 #include#include#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemType inttypedef struct int *elem,length,listsize;SqList;int InitList_Sq(SqList &L) L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType); L

7、.length=0; L.listsize=LIST_INIT_SIZE; return OK;int Load_Sq(SqList &L) int i; for(i=0;iL.length;i+) printf(%d ,L.elemi); printf(n); return OK;int ListLength(SqList L) return L.length;int GetElem(SqList L,int i,ElemType &e) e=L.elemi-1; return OK;int ListInsert_Sq(SqList &L,int i,int e) if(iL.length+

8、1) return ERROR; ElemType *p,*q,*newbase; if(L.listsize=q;p-) *(p+1)=*p; *q=e; L.length+; return OK;void MergeList(SqList La,SqList Lb,SqList &Lc) int i,j,k,La_len,Lb_len,ai,bj; i=j=1; k=0; InitList_Sq(Lc); La_len=ListLength(La); Lb_len=ListLength(Lb); while(i=La_len)&(j=Lb_len) GetElem(La,i,ai); Ge

9、tElem(Lb,j,bj); if(ai=bj) ListInsert_Sq(Lc,+k,ai); i+; else ListInsert_Sq(Lc,+k,bj); j+; while(i=La_len) GetElem(La,i+,ai); ListInsert_Sq(Lc,+k,ai); while(j=Lb_len) GetElem(Lb,j+,bj); ListInsert_Sq(Lc,+k,bj); Load_Sq(Lc);int main() int an,bn,i,e; SqList La,Lb,Lc; InitList_Sq(La); scanf(%d,&an); for(

10、i=1;i=an;i+) scanf(%d,&e); ListInsert_Sq(La,i,e); printf(List A:); Load_Sq(La); InitList_Sq(Lb); scanf(%d,&bn); for(i=1;i=an;i+) scanf(%d,&e); ListInsert_Sq(Lb,i,e); printf(List B:); Load_Sq(Lb); printf(List C:); MergeList(La,Lb,Lc); return 0;1.3顺序表逆置 #include#include#define OK 1#define ERROR 0#defi

11、ne LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemType int typedef struct int *elem,length,listsize;SqList;int InitList_Sq(SqList &L) L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType); if(!L.elem) printf(NO1); return ERROR; L.length=0; L.listsize=LIST_INIT_SIZE; return OK;int Load_Sq(S

12、qList &L) int i; if(!L.length) printf(This List is empty!n); return ERROR; else for(i=0;i=L.listsize) newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType); if(!newbase) printf(NO2); return ERROR; L.elem=newbase; L.listsize+=LISTINCREMENT; q=&(L.elemi-1); for(p=&(L.elemL.length-1);p=q;p-) *(p+1)=*p; *q=e; L.length+; return OK;int swap(SqList &L,int n) int i,j,temp; for(i=0,j=n-1;ji;i+,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1