- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
例3.1有一个单链表L(至少有一个结点),其头结点指针为head,编写一个函数将L逆置,即最后一个结点变成第1个结点,原来倒数第二个结点变成第二个结点……如此等等。解:本题采用的算法是,从头到尾遍历单链表L,并设置3个附加指针p、q、r,p指向当前处理的结点,q指向p的下一个结点,r指向q的下一个结点,q、r的作用是为了防止倒置指针时,下一个结点的丢失而设置的,有了这三个指针,就可以方便地实现指针的倒置。最后将个结点的next域置为NULL,并将头指针指向最后一个结点,这样达到了本题的要求。数据结构CC+循环链表共24页,您现在浏览的是第1页!
voidinvert(linklisthead){linklistp,q,r;p=head;q=p-next;while(q!=NULL)/*没有后继时停止*/{r=q-next;q-next=p;p=q;q=r;}head-next=NULL;head=p;}typedefstructnode{datatypedata;structnode*next;}*linklist;数据结构CC+循环链表共24页,您现在浏览的是第2页!
堆栈的最简单的表示方法是采用一维数组,为形象起见,一般在图中将堆栈画成竖直的。设数组名为data,其下标的下界为0,上界为n。一般需用一个变量top记录当前栈顶的下标值,top也叫做栈指针。topADCB3642105data本例中top=4在C语言中通常用以下方式定义一个顺序栈结构体:#defineN30Typedefstructstack{datatypedata[N];Inttop;}sqstack;3.2链表应用数据结构CC+循环链表共24页,您现在浏览的是第3页!
#defineN30Typedefstructstack{datatypedata[N];Inttop;}sqstack;voidpop(sqstack*p){if(p-top==-1)printf(“空栈!\n”);/*栈为空显示相应的信息*/else{x=p-data[p-top];(p-top)--;/*栈顶位置下移*/}returnx;}2.出栈(Pop)出栈运算时,先将栈顶的元素值赋给某个变量,以备后面的运算应用;然后栈顶指针减1,将栈顶位置下移。假设已指定的变量为x,则出栈的函数如下:数据结构CC+循环链表共24页,您现在浏览的是第4页!
链堆栈的入栈算法在栈顶指针是top的链堆栈中插入一个值为x的结点的算法:voidpush(linklisttop,datatypex){linklists;s=newnode;/*建立一个结点指针*/s-data=x;s-next=top;top=s;}数据结构CC+循环链表共24页,您现在浏览的是第5页!
3.3循环链表与双向链表循环链表(circularlinkedlist)是一种首尾相接的链表,将单链表表尾结点原来的空指针改为指向表头结点,就成为循环链表。循环链表并不多占存储单元,但从循环链表的任一个结点出发都可以访问到此链表的每一个结点,因为当访问到表尾结点后又能返回到头结点。一、循环链表数据结构CC+循环链表共24页,您现在浏览的是第6页!
例3.2算法link(linklisthead1,head2){linklistp,q;p=head1;while(p-next!=head1)p=p-next;q=head2;while(q-next!=head2)q=q-next;p-next=head2;q-next=head1;}数据结构CC+循环链表共24页,您现在浏览的是第7页!
2.带尾指针的循环链表另一种方法是不设头指针而改设尾指针,这样无论是找头结点还是尾结点都很方便。因为尾结点由尾指针rear
您可能关注的文档
- 树立法治理念维护法律权威.pptx
- 知识作为一种战略—来自先行者的经验和教训.pptx
- 无机膜材料制备研究进展.pptx
- 消隐及真实感处理技术.pptx
- 相异步电动机的电力拖动(2).pptx
- 有效业务沟通与谈判技巧.pptx
- 现代寿险品种与保险理财.pptx
- 消防基础知识燃烧与爆炸.pptx
- 有效的会议注意事项.pptx
- 现代通信概论第八章(1).pptx
- 2024-2025学年人教版八年级数学下册 第18章 平行四边形 单元试卷(含答案).pdf
- 2024-2025学年七年级下学期期中数学常考点分类专题(考查范围:整式的乘除、相交线与平行线、概率初步).pdf
- 2024人教版七年级地理下册《澳大利亚》教学设计(含两课时).pdf
- 小升初复习特训:应用题-人教版六年级数学下册.pdf
- 2024人教版七年级地理下册《澳大利亚》同步分层练(第2课时)含答案.pdf
- 2024年秋季七年级语文入学分班考试模拟卷03(解析版).pdf
- 2024中图版北京七年级地理下册全册教案(含教学反思).pdf
- 2025年中考道德与法治二轮复习:革命传统教育 知识点+练习题(含答案).pdf
- 科技类故事(解析版).pdf
- 措施启示类试题(解析版+原卷版)-2025年高考政治冲刺复习预测(新高考通用).pdf
文档评论(0)