链表基本操作.doc

链表基本操作.doc

ID:48454158

大小:84.50 KB

页数:20页

时间:2020-01-31

链表基本操作.doc_第1页
链表基本操作.doc_第2页
链表基本操作.doc_第3页
链表基本操作.doc_第4页
链表基本操作.doc_第5页
资源描述:

《链表基本操作.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、.题目一链表基本操作一、数据结构与核心算法的设计描述1、单链表的最大长度#defineMAXSIZE1002、单链表的结点类型定义/*定义elemtype为int类型*/typedefintelemtype;/*单链表的结点类型*/typedefstructSTD{elemtypeelem;STD*next;}list,*linklist;3、初始化单链表/*函数功能:对链表进行初始化。参数:链表(linklistL)。成功初始化返回1,否则返回0*/intinit(linklist&L){L=(linklist)malloc(

2、sizeof(list));//头结点申请内存。if(!L)//判断有无申请到空间。return0;//没有申请到内存,参数失败返回0L->next=NULL;L->elem=0;//单链表中有多少元素return1;//成功参数返回1}4、清空单链表/*函数功能:把链表清空。参数:链表(linklistL)。成功清空链表返回1*/intmakeempty(linklist&L){linklistp,q;p=L->next;while(p)//当p非空时,删除p{q=p;p=p->next;free(q);}L->next=NU

3、LL;//只剩头指针,所以L->next=NULLL->elem=0;//清空后链表中元素为0return1;//清空后返回1}5、求链表长度/*函数功能:返回链表的长度。参数;链表(linklistL)。函数返回链表的长度*/intgetlength(linklistL)..{linklistp;p=L->next;intj=0;while(p){j++;//统计链表中元素p=p->next;}returnj;//最后返回链表长度.}6、判断链表是否为空/*函数功能:判断链表是否为空。参数;链表(linklistL)。链表为空

4、时返回0,不为空返回1*/intisempty(linklistL){if(L->next)//头结点后有元素表示链表不空则返回1return1;elsereturn0;//头结点后没有元素表示链表不空则返回0}7、检查链表是否为满/*函数功能:判断链表是否为满。参数;链表(linklistL)。链表为满时返回0,不为满返回1*/intisfull(linklistL){if(L->elem<=MAXSIZE)//头结点的elem储存的为链表的长度。return1;//其小于MAXSIZE表示链表不满elsereturn0;//

5、否则返回0}8、遍历链表/*函数功能:遍历链表,输出每个节点的elem值。参数;链表(linklistL)通过循环逐个输出节点的elem值*/voidshow(linklistL){linklistp;p=L->next;if(isempty(L)==0)//当链表为空时则输出链表为空{cout<<"链表为空!";}while(p)//当链表为不空时则输出链表每个节点的elem值{cout<elem<<"";p=p->next;}..cout<

6、;链表(linklistL),给定元素(inti)如果链表中有给定元素(i)则返回1,否则返回0*/intfind(linklistL,inti){linklistp;p=L->next;while(p){if(p->elem==i)//判断有无元素I,有返回1return1;p=p->next;}return0;//没有找到返回0}10、从链表中查找与给定元素值相同的元素在表中的位置/*函数功能:从链表中查找给定元素的位置。参数;链表(linklistL),给定元素(inti)如果链表中有给定元素i则返回元素的位置,没有则返回

7、0*/intlocation(linklistL,inti){linklistp;intj=0;p=L->next;while(p){j++;if(p->elem==i)//判断有无元素i,有返回其的位置jreturnj;p=p->next;}return0;//没有则返回0}11、向链表中插入元素/*函数功能:向链表中的某个位置插入元素。参数;链表(linklistL),位置(inti),元素(elemtypee)。成功插入返回1,否则返回0*/intinsert(linklist&L,inti,elemtypee){link

8、listp,s;intj=0;p=L;while(p&&jnext;..j++;}if(j>i-1

9、

10、!p)//不符合条件返回0return0;s=(linklist)malloc(sizeof(list));//给

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。