问题描述
LinkedList.cs中通过接口Linkable接口实现了一个链接表,任何实现Linkable接口的对象,可以使用LinkedList构造成链接表;主函数中,对LinkedList对象ll进行迭代时需要使用for循环,实现IEnumerable接口后可以在foreach循环中使用。foreach(Linkablelinll){Console.WriteLine(l);}源代码如下:usingSystem;usingSystem.Collections;publicclassLinkedTest{publicstaticvoidMain(){LinkedListll=newLinkedList();ll.insertAtHead(newLinkableInteger(1));ll.insertAtHead(newLinkableInteger(2));ll.insertAtHead(newLinkableInteger(3));ll.insertAtHead(newLinkableInteger(4));ll.insertAtTail(newLinkableInteger(5));ll.insertAtTail(newLinkableInteger(6));//Console.WriteLine(ll.removeFromHead());//Console.WriteLine(ll.removeFromTail());//ll.remove(newLinkableInteger(2));Console.WriteLine("forloop:");for(Linkablel=ll.Head;l!=null;l=l.Next){Console.WriteLine(l);}//Console.WriteLine("foreachloop:");//foreach(Linkablelinll)//{//Console.WriteLine(l);//}}}interfaceLinkable{LinkableNext{get;set;}}classLinkedList//:IEnumerable{//publicIEnumeratorGetEnumerator()//{//}Linkablehead;publicLinkableHead{get{returnhead;}}publicvoidinsertAtHead(Linkablenode){node.Next=head;head=node;}publicvoidinsertAtTail(Linkablenode){if(head==null)head=node;else{Linkablep,q;for(p=head;(q=p.Next)!=null;p=q);p.Next=node;}}publicLinkableremoveFromHead(){Linkablenode=head;if(node!=null){head=node.Next;node.Next=null;}returnnode;}publicLinkableremoveFromTail(){if(head==null)returnnull;Linkablep=head,q=null,next=head.Next;if(next==null){head=null;returnp;}while((next=p.Next)!=null){q=p;p=next;}q.Next=null;returnp;}publicvoidremove(Linkablenode){if(head==null)return;if(node.Equals(head)){head=head.Next;return;}Linkablep=head,q=null;while((q=p.Next)!=null){if(node.Equals(q)){p.Next=q.Next;return;}p=q;}}}//endofLinkedListclassLinkableInteger:Linkable{inti;Linkablenext;publicLinkableInteger(inti){this.i=i;}publicLinkableNext{get{returnnext;}set{next=value;}}publicoverridestringToString(){returni+"";}publicnewboolEquals(objecto){if(this==o)returntrue;if(!(oisLinkableInteger))returnfalse;if(((LinkableInteger)o).i==this.i)returntrue;returnfalse;}}//endofLinkableInteger
解决方案
解决方案二:
楼主,你的问题是什么???|||
解决方案三:
请听题:请问楼主想问的问题是什么?你有三个求助方法
解决方案四:
不知道什么问题只好接分了
解决方案五:
接下分把,我也没有看出来到底想问什么了
解决方案六:
帮顶
解决方案七:
开始的陈述是要求即把下面的程序改成符合要求的形式....最前面加一句“在LinkedList类上实现IEnumerable接口”