欢迎来到天天文库
浏览记录
ID:27812499
大小:203.56 KB
页数:13页
时间:2018-12-06
《云大软件学院c#_实验8_接口》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、序号:课程名称:C#与.NET实验学号:实验老师:实验名称:实验&接丨I姓名:指标等级ABCD功能完整程序质量按时检査提问回答检查时间总评成绩课程名称C#与.NET实验实验项n实验8:接口实验廿的熟悉并掌握,C#的接口的基木特性。(1)使用系统或用户已经定义并实现好的接口:①类型StringLengthComparer的程序代码如下:usingSystem;usingSystem>Collections;namespaceTnterfaceTvpel{publicsealedclassStringLengthComparer:IComparer{publi
2、cintCompare(Objectx,Objecty)//实现接口函数{if((!(xisstring))
3、
4、(!(yisstring)))//判断两个参数是否都是string类型thrownewArgumentException(z/somediremessage");实验内容(算法、程序.步骤和方法)stringxs=(string)x;stringys=(string)y;intret_val=1;if(xs.Length5、nretval;}}②类型InterfaceTest的程序代码如下:publicclassInterfaceTest{staticvoidMain(string[]args){ArrayListstringList=newArrayList();stringList・Add("yunnandaxue");stringList・Add(〃ruanjianxueyuan〃);stringList.AddC'ruanjian〃);stringList.Add(/zruanzz);Console.WriteLine(/z字符串链表排序之前的顺序是:〃);forea6、ch(stringstrinstringList)Console.WriteLine(str+,z”);stringList.Sort(newStringLengthCoinparerO);Console.WriteLine(z,字符串链表排序之后的顺浄是:");foreach(stringstrinstringList)Console・WriteLine(str+"”);}}(1)为系统或用户定义好的接口,提供实现:①类型TreeNode的程序代码如下:usingSystem;usingSystem.Collections;namespaceInte7、rfaceTvpe2{publicsealedclassTreeNode{privateintmoccurs;privateObjectm_nval;privateTreeNodem_lchild,m_rchild;publicTreeNode(Objectnval)//构造函数{m_nval=nval;}publicvoidinsert_value(Objectval)//把当前节点插入树中实验内容(算法、程序、步骤和方法){一1Comparableic=valasIComparable;//运用as进行类型转换if(ic.CompareTo(m_nva8、l)==0)//与树根值相等{moccurs++;return;}if(ic.CompareTo(m_nval)<0)//比树根值小{if(mlchild==null)m_lchild=newTreeNode(val);elsem_lchild・insert_vEilue(val);}else//大丁树根值{if(mrchild==null)in_rchild=newTreeNode(val);elsem_rchild.insert_value(val);}}}②类型BinaryTree的程序代码如下:publicclassBinarvTree{.priv9、ateTreeNodemroot;ArrayListnode=nowArrayList();publicvoidinsert(Objectelem){if(m_root==null){confirmcomparable(elem);//确认elem是竹实现IComparable接口m_root=newTreeNode(elem);//插入第一个节点node.Add(elem);else{,confirm_comparable(elem);//确认e1em是否实现1Comparable接口m_root.insert_value(elem);//把节点插入一叉10、树node.Add(elem);publicvoidgetNode
5、nretval;}}②类型InterfaceTest的程序代码如下:publicclassInterfaceTest{staticvoidMain(string[]args){ArrayListstringList=newArrayList();stringList・Add("yunnandaxue");stringList・Add(〃ruanjianxueyuan〃);stringList.AddC'ruanjian〃);stringList.Add(/zruanzz);Console.WriteLine(/z字符串链表排序之前的顺序是:〃);forea
6、ch(stringstrinstringList)Console.WriteLine(str+,z”);stringList.Sort(newStringLengthCoinparerO);Console.WriteLine(z,字符串链表排序之后的顺浄是:");foreach(stringstrinstringList)Console・WriteLine(str+"”);}}(1)为系统或用户定义好的接口,提供实现:①类型TreeNode的程序代码如下:usingSystem;usingSystem.Collections;namespaceInte
7、rfaceTvpe2{publicsealedclassTreeNode{privateintmoccurs;privateObjectm_nval;privateTreeNodem_lchild,m_rchild;publicTreeNode(Objectnval)//构造函数{m_nval=nval;}publicvoidinsert_value(Objectval)//把当前节点插入树中实验内容(算法、程序、步骤和方法){一1Comparableic=valasIComparable;//运用as进行类型转换if(ic.CompareTo(m_nva
8、l)==0)//与树根值相等{moccurs++;return;}if(ic.CompareTo(m_nval)<0)//比树根值小{if(mlchild==null)m_lchild=newTreeNode(val);elsem_lchild・insert_vEilue(val);}else//大丁树根值{if(mrchild==null)in_rchild=newTreeNode(val);elsem_rchild.insert_value(val);}}}②类型BinaryTree的程序代码如下:publicclassBinarvTree{.priv
9、ateTreeNodemroot;ArrayListnode=nowArrayList();publicvoidinsert(Objectelem){if(m_root==null){confirmcomparable(elem);//确认elem是竹实现IComparable接口m_root=newTreeNode(elem);//插入第一个节点node.Add(elem);else{,confirm_comparable(elem);//确认e1em是否实现1Comparable接口m_root.insert_value(elem);//把节点插入一叉
10、树node.Add(elem);publicvoidgetNode
此文档下载收益归作者所有