欢迎来到天天文库
浏览记录
ID:57686725
大小:13.50 KB
页数:2页
时间:2020-09-01
《C#实现单链表反转.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单链表定义:publicclassLink{publicLinkNext;publicstringData;publicLink(Linknext,stringdata){this.Next=next;this.Data=data;}}反转算法实现一:(递归实现)publicstaticLinkReverseLink3(Linkhead){//ifnoelementsoronlyoneelementexistsif(head.Next==null
2、
3、head.Next.Next==null)returnhead;head.Next=ReverseLin
4、k(head.Next);returnhead;}接下来就是递归的核心算法ReverseLink了:staticLinkReverseLink(Linkhead){if(head.Next==null)returnhead;LinkrHead=ReverseLink(head.Next);head.Next.Next=head;head.Next=null;returnrHead;}反转算法实现二:(非递归)我们需要额外的两个变量来存储当前节点curr的下一个节点next、再下一个节点nextnext:publicstaticLinkReverseLi
5、nk1(Linkhead){Linkcurr=head.Next;Linknext=null;Linknextnext=null;//ifnoelementsoronlyoneelementexistsif(curr==null
6、
7、curr.Next==null){returnhead;}//ifmorethanoneelementwhile(curr.Next!=null){next=curr.Next;//1nextnext=next.Next;//2next.Next=head.Next;//3head.Next=next;//4curr.Nex
8、t=nextnext;//5}returnhead;}
此文档下载收益归作者所有