c#实习9报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告实验九:泛型实验目的:理解泛型的含义,掌握泛型的使用方法。实验内容:一、1.参照课本例11.3,定义由0~9十个整数形成的队列(先进先出),并输出队列内容。运行效果如图所示。然后定义由5个双精度数:4.1、5.2、6.3、7.4、8.5形成的队列,并输出队列内容。提示:队列有队首和队尾两个指针head和tail。队列在队尾添加数据,在队首取出数据。请在实验数据记录及分析中写出相应的源程序代码。2.参照课本例11.5,声明泛型方法SwapT,实现两个数内容的交换。在main()中输入任意两个整数和任意两个实数,分别调用泛型方法SwapT,实现整数内容的交换和实数内容的交换。运行效果如图所示。请在实验数据记录及分析中写出相应的源程序代码。3.进一步泛型化课本例11.6,将classStackT中的具体类型改成泛型,并在Main方法中用多种数据类型(float1.1、int1、stringhello、char'c'、booltrue、objectnewobject())调用TestStack。运行效果如图所示。请在实验数据记录及分析中写出相应的源程序代码。实验数据记录及分析(或程序及运行结果)第一题:namespaceConsoleApplication1{publicclassGenercListT{privateclassNode{实验报告publicNode(Tt){next=null;date=t;}privateNodenext;publicNodeNext{get{returnnext;}set{next=value;}}privateTdate;publicTDate{get{returndate;}set{date=value;}}}privateNodehead,tail;publicvoidGenericList(){head=null;tail=null;}publicvoidAddHead(Tt){Noden=newNode(t);if(head!=null){tail.Next=n;tail=n;}else{head=n;tail=n;}}publicIEnumeratorTGetEnumerator(){Nodecurrent=head;while(current!=null){yieldreturncurrent.Date;current=current.Next;}}}classProgram{staticvoidMain(){GenercListintlist=newGenercListint();实验报告Console.WriteLine(0~9十个整数形成的队列);for(intx=0;x10;x++){list.AddHead(x);}Console.WriteLine(队列(先进先出)内容如下:);foreach(intiinlist){Console.Write(i+);}Console.ReadLine();}}}namespaceConsoleApplication1{publicclassGenercListT{privateclassNode{publicNode(Tt){next=null;date=t;}privateNodenext;publicNodeNext{get{returnnext;}set{next=value;}}privateTdate;publicTDate{get{returndate;}set{date=value;}}}privateNodehead,tail;publicvoidGenericList(){head=null;tail=null;}publicvoidAddHead(Tt){Noden=newNode(t);if(head!=null){tail.Next=n;tail=n;实验报告}else{head=n;tail=n;}}publicIEnumeratorTGetEnumerator(){Nodecurrent=head;while(current!=null){yieldreturncurrent.Date;current=current.Next;}}}classProgram{staticvoidMain(){GenercListdoublelist=newGenercListdouble();Console.WriteLine(4.1,5.2,6.3,7.4,8.5形成的队列);list.AddHead(4.1);list.AddHead(5.2);list.AddHead(6.3);list.AddHead(7.4);list.AddHead(8.5);Console.WriteLine(队列(先进先出)内容如下:);foreach(doubledinlist){Console.Write(d+);}Console.ReadLine();}}}第二题:namespaceConsoleApplication3{classProgram{staticvoidSwapT(refTlhs,refTrhs){Ttemp;temp=lhs;lhs=rhs;rhs=temp;}staticvoidMain(){实验报告Console.WriteLine(请输入整数1:);inta=int.Parse(Console.ReadLine());Console.WriteLine(请输入整数2:);intb=int.Parse(Console.ReadLine());Console.WriteLine(原始值:a={0},b={1},a,b);Swapint(refa,refb);Console.WriteLine(交换后:a={0},b={1},a,b);Console.Write(请输入实数1:);doublec=double.Parse(Console.ReadLine());Console.Write(请输入实数2:);doubled=double.Parse(Console.ReadLine());Console.WriteLine(原始值:c={0},d={1},c,d);Swap(refc,refd);Console.WriteLine(交换后:c={0},d={1},c,d);Console.ReadLine();}}}第三题:namespaceConsoleApplication1{publicdelegatevoidStackDelegateT(Titem);publicclassStack{publicstaticvoidDoWorkT(Titem){Console.WriteLine(Dosomework:{0},item);}}classText{staticvoidMain(){StackDelegatefloatf=Stack.DoWork;f(1.1f);StackDelegateinti=Stack.DoWork;i(1);StackDelegatestrings=Stack.DoWork;s(hello);StackDelegatecharc=Stack.DoWork;c('c');StackDelegateboolb=Stack.DoWork;b(true);StackDelegateobjecto=Stack.DoWork;o(newobject());Console.ReadLine();}实验报告}}评语:日期:年月日

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功