




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/# define LEN 30/30typedef int ElemType;/ElemType/typedef struct LNode/ElemType data;/LNode *next;LNode;/class LinkListprivate:/LNode *head;public:/1 -LinkList();/2 LinkList(int d1);/3 LinkList(int n, int mark,int seed);/4 LinkList(LinkList &HL);/5 LinkList();/6 void ClearList();/7 void ListInsert(ElemType &item, int mark);/8 bool ListDelete(ElemType &item , int mark);/9 bool UpdateList(ElemType &item, ElemType e);/10 ElemType GetElem(int pos);/11 bool ListEmpty();/12 bool FindList(ElemType &item);/13 void pailie(int mark);/14 void Traverse(void f(ElemType &);/15 void MergeList(LinkList &la, LinkList &lb);/16 int ListSize();/# includelinklist.h# include# include# include# include/1 LinkList:LinkList()head=new LNode;head-next=NULL;/2 LinkList:LinkList(int d1)head=new LNode;head-next-data=d1;head-next-next=NULL;/3 LinkList:LinkList(int n, int mark,int seed)/ElemType aLEN+1;srand(seed);int i,j;/forfor(i=1;i=n;i+)ai=rand()%100;/for(i=1;i=n;i+)for(j=1;jaj+1 | mark=-1 & ajaj+1)int t=aj;aj=aj+1;aj+1=t;head=new LNode;LNode *p=head;LNode *q;for(i=1;idata=ai;p-next=q;p=p-next;p-next=NULL;/4 LinkList:LinkList(LinkList &HL)head=new LNode;LNode *p1=HL.head-next,*p=head,*q;while(p1)q=new LNode;q-data=p1-data;p-next=q;p1=p1-next;p=q;p-next=NULL;/5 LinkList:LinkList()LNode *p=head-next,*q;while(p)q=p-next;free(p);p=q;head-next=NULL;/6 void LinkList:ClearList()LNode *p=head-next, *q;while(p)q=p-next;free(p);p=q;head-next=NULL;/7 void LinkList:ListInsert(ElemType &item, int mark)LNode *p=head,*q;for(int i=1;inext;q=new LNode;q-data=item;q-next=p-next;p-next=q;/8 bool LinkList:ListDelete(ElemType &item, int mark)if(ListEmpty() | markListSize()return false;LNode *p=head,*q;q=new LNode;int i;for(i=1;inext;item=p-next-data;q=p-next-next;free(p-next);p-next=q;return true;/9 bool LinkList:UpdateList(ElemType &item ,ElemType e)LNode *p=head-next;while(p)if(p-data=item)p-data=e;return true;p=p-next;return false;/10 ElemType LinkList:GetElem(int pos)LNode *p=head-next;int i=1;while(p)if(i=pos)return p-data;i+;p=p-next;return head-data;/11 int LinkList:ListSize()int i=0;LNode *p=head-next;while(p)i+;p=p-next;return i;/12 bool LinkList:FindList(ElemType &item)LNode *p=head-next;while(p)if(p-data=item)return true;p=p-next;return false;/13 bool LinkList:ListEmpty()return ListSize()=0;/14 void LinkList:Traverse(void f(ElemType &)LNode *p=head-next;while(p)f(p-data);p=p-next;/15 void LinkList:MergeList(LinkList &la, LinkList &lb)LNode *pa=la.head-next, *pb=lb.head-next,*p=head,*q;while(pa&pb)q=new LNode;if(pa-datadata)q-data=pa-data;p-next=q;pa=pa-next;p=q;elseq-data=pb-data;p-next=q;pb=pb-next;p=q;while(pa)q=new LNode;q-data=pa-data;p-next=q;pa=pa-next;p=q;while(pb)q=new LNode;q-data=pb-data;p-next=q;pb=pb-next;p=q;p-next=NULL;/16 void LinkList:pailie(int mark)ElemType aLEN+1;LNode *p=head-next;int k,i,j;for(k=1;p!=NULL;k+,p=p-next)ak=p-data;k-;for(i=1;i=k;i+)for(j=1;jaj+1 | mark=-1 &ajnext;for(i=1;inext)p-data=ai;/# includelinklist.h# include# include# includevoid ff(ElemType &a)couta ;void main()couttest.cpp:endl;int init_size,mark,seed;coutlist1!endl;coutinit_size;coutmark;coutseed;LinkList list1(init_size,mark,seed);coutlist1!endl;cout:endl;list1.Traverse(ff);coutendl;coutlist1:list1.ListSize()endl;cin.get();coutlist1:endl;int i;couti;coutlist1i:list1.GetElem(i)endl;ElemType it;couti;list1.ListDelete(it,i);coutlist1iit:endl;list1.Traverse(ff);coutendl;coutlist1:list1.ListSize()endl;ElemType olds,news;coutolds;coutnews;list1.UpdateList(olds,news);coutlist1:endl;list1.Traverse(ff);coutendl;cin.get();coutlist2!endl;coutinit_size;coutmark;coutseed;LinkList list2(init_size,mark,seed);coutlist2!endl;coutlist2:endl;list2.Traverse(ff);coutendl;cout:list2.ListSize()endl;cin.get();coutlist1list2list3!endl;LinkList list3;list3.MergeList(list1,list2);cout!endl;coutlist3:endl;list3.Traverse(ff);coutendl;coutlist3:list3.ListSize()endl;coutmark;list3.pailie(mark);coutlist3:endl;list3.Traverse(ff);coutendl;list3.ClearList();coutlist3!endl;coutlist4!endl;LinkList list4;coutinit_size;cout:endl;ElemType b;for(i=1;ib;list4.ListInsert(b,i);cout!endl;coutlist4:endl;list4.Traverse(ff);c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道床大修施工方案(3篇)
- 2025年农业资源循环利用方案设计案例分析集与实战模拟题集
- 2025年高级新媒体运营专家实战模拟预测题集与解析
- 宣传地震面试题目及答案
- 行业奇葩面试题目及答案
- 2025年医卫类病理学技术初级(师)专业实践能力-相关专业知识参考题库含答案解析(5套)
- 2025年无人机教练员面试指南及模拟题解析
- 2025年企业策划专员招考笔试试题与详细答案解析
- 2025年电影制片人职位笔试预测试题与行业知识解读
- 2025年网络教育平台岗位笔试预测试题
- 聘请合唱团老师合同协议
- 2025年公共行政管理考试试卷及答案
- 非创伤性软组织疼痛急诊管理专家共识解读
- 小学生作业书写规范要求
- 电镀防火知识培训课件
- 电石炉巡检工课件
- 食品质检考试真题及复习资料
- 天翼云认证高级解决方案架构师练习试题附答案
- 成人脓毒症患者医学营养治疗指南(2025版)
- 2025年茯苓市场调查报告
- 仲裁证人出庭作证申请书
评论
0/150
提交评论