c#基础学习之21例(由控制台程序测试通过).pdf
《c#基础学习之21例(由控制台程序测试通过).pdf》由会员分享,可在线阅读,更多相关《c#基础学习之21例(由控制台程序测试通过).pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 没有 百度文库财富值 请到文库帮手网 w w w.365x u e y u a n.c o m 免费帮下载 百度文库积分 资料 本文由d o n n y 945贡献 /17未通过 u s i n g Sy s t e m;u s i n g Sy s t e m.Co l l e c t i o n s.Ge n e r i c;u s i n g Sy s t e m.Li n q;u s i n g Sy s t e m.Te x t;/15n e e d u s i n g Sy s t e m.Ru n t i m e.In t e r o p Se r v i c e s;u s
2、i n g Sy s t e m.Di a g n o s t i c s;/17n e e d u s i n g Sy s t e m.IO;n a m e s p a c e d#r e g i o n 21:直接插入排序算法 p u b l i c c l a s s In s e r t i o n So r t /直接插入排序处理算法 p u b l i c v o i d So r t(i n t l i s t)f o r (i n t i =1;i 0)&(l i s t j -1 t e m p)l i s t j =l i s t j -1;-j;l i s t j =t
3、 e m p;#e n d r e g i o n#r e g i o n 20:冒泡排序处理算法 /p u b l i c c l a s s Bu b b l e So r t /冒泡排序处理算法 /p u b l i c v o i d So r t(i n t l i s t)/i n t i =0;/i n t j =1;/b o o l i n Or d e r =f a l s e;/w h i l e (j l i s t.Le n g t h)&(!i n Or d e r)/若f o r 循环后没有改变,则表明序列已经有序 /i n Or d e r =t r u e;p
4、a g e 1 /f o r (i =0;i l i s t i +1)/i n Or d e r =f a l s e;/i n t t e m p =l i s t i;/l i s t i =l i s t i +1;/l i s t i +1=t e m p;/j+;/#e n d r e g i o n#r e g i o n 17:定义单链表(简单使用)/构成链表的结点定义 /p u b l i c c l a s s No d e /p u b l i c Ob j e c t d a t a;/p u b l i c No d e n e x t;/p u b l i c No
5、 d e(Ob j e c t d)/d a t a =d;/n e x t =n u l l;/#e n d r e g i o n#r e g i o n 14:演示委托的简单用法(b a s e 1)/c l a s s Op e r a t i o n s /p u b l i c s t a t i c d o u b l e Mu l Tw o(d o u b l e v a l u e)/r e t u r n v a l u e *2;/p u b l i c s t a t i c d o u b l e Sq u a r e(d o u b l e v a l u e)/r
6、 e t u r n v a l u e *v a l u e;/d e l e g a t e d o u b l e Do u b l e Op(d o u b l e x);#e n d r e g i o n#r e g i o n 13:演示虚方法的声明和使用(类)/p u b l i c c l a s s Gr a p h /p r o t e c t e d d o u b l e Pa r a Va l;/p r o t e c t e d d o u b l e p i =3.1415926;/p u b l i c Gr a p h(d o u b l e Pa r a)
7、/Pa r a Va l =Pa r a;/定义虚方法:求面积p a g e 2 /p u b l i c v i r t u a l d o u b l e Ar e a()/r e t u r n Pa r a Va l;/图形的子类正方形 /p u b l i c c l a s s Sq u a r e :Gr a p h /p u b l i c Sq u a r e(d o u b l e Pa r a)/:b a s e(Pa r a)/重载正方形求面积的方法 /p u b l i c o v e r r i d e d o u b l e Ar e a()/r e t u r
8、n Pa r a Va l *Pa r a Va l;/图形的子类等边三角形 /p u b l i c c l a s s Eq Tr i a n g l e :Gr a p h /p u b l i c Eq Tr i a n g l e(d o u b l e Pa r a)/:b a s e(Pa r a)/重载等边三角形求面积的方法 /p u b l i c o v e r r i d e d o u b l e Ar e a()/r e t u r n Pa r a Va l *Pa r a Va l *Ma t h.Si n(p i /3)/2;/图形的子类圆 /p u b l i
9、 c c l a s s Ci r c l e :Gr a p h /p u b l i c Ci r c l e(d o u b l e Pa r a)/:b a s e(Pa r a)/重载圆求面积的方法 /p u b l i c o v e r r i d e d o u b l e Ar e a()/r e t u r n p i *Pa r a Va l *Pa r a Va l;/#e n d r e g i o n#r e g i o n 12:Ve c t o r 类 /c l a s s Ve c t o r /p r i v a t e d o u b l e XVe c
10、t o r;/p r i v a t e d o u b l e YVe c t o r;/构造函数 /p u b l i c Ve c t o r(d o u b l e x,d o u b l e y)p a g e 3 /XVe c t o r =x;/YVe c t o r =y;/获取向量的长度 /p u b l i c d o u b l e Ge t Le n g t h()/d o u b l e Le n g t h =Ma t h.Sq r t(XVe c t o r *XVe c t o r +YVe c t o r *YVe c t o r);/r e t u r n
11、Le n g t h;/重载运算符=/p u b l i c s t a t i c b o o l o p e r a t o r =(Ve c t o r a,Ve c t o r b)/r e t u r n (a.XVe c t o r =b.XVe c t o r)&(a.YVe c t o r =b.YVe c t o r);/重载运算符!=/p u b l i c s t a t i c b o o l o p e r a t o r !=(Ve c t o r a,Ve c t o r b)/r e t u r n !(a =b);/重载运算符:以向量长度判断是否为真 /p u
12、 b l i c s t a t i c b o o l o p e r a t o r (Ve c t o r a,Ve c t o r b)/r e t u r n a.Ge t Le n g t h()b.Ge t Le n g t h();/重载运算符 /p u b l i c s t a t i c b o o l o p e r a t o r (Ve c t o r a,Ve c t o r b)/r e t u r n a.Ge t Le n g t h()=/p u b l i c s t a t i c b o o l o p e r a t o r =(Ve c t o
13、r a,Ve c t o r b)/r e t u r n (a =b)|(a b);/重载运算符=/p u b l i c s t a t i c b o o l o p e r a t o r =(Ve c t o r a,Ve c t o r b)/r e t u r n (a =b)|(a b);/#e n d r e g i o n#r e g i o n 10:演示一个类的定义和实现(Pa r t 1)/p u b l i c c l a s s De s k/基类De s k /p r o t e c t e d i n t l e n g t h;/保护成员 /p r o t
14、e c t e d i n t w i d t h;/p r o t e c t e d i n t h e i g h t;/类De s k 的构造函数 /p u b l i c De s k()/l e n g t h =0;p a g e 4 /w i d t h =0;/h e i g h t =0;/设置De s k 的信息 /p u b l i c v o i d Se t In f o(i n t Le n,i n t Wi d,i n t He i)/l e n g t h =Le n;/w i d t h =Wi d;/h e i g h t =He i;/打印De s k
15、的参数信息 /p u b l i c v o i d Sh o w In f o()/Co n s o l e.Wr i t e Li n e(Le n g t h=0 t Wi d t h=1 t He i g h t=2,l e n g t h,w i d t h,h e i g h t);/p u b l i c c l a s s Fu r n i t u r e :De s k/定义基类De s k 的派生类Fu r n i t u r e /p r i v a t e i n t p r i c e;/私有成员 /类Fu r n i t u r e 的构造函数 /p u b l i
16、 c Fu r n i t u r e()/这里会隐式调用基类De s k 的构造函数 /De s k();/若显示调用会出现错误 /p r i c e =0;/重载该类的Se t In f o 函数 /p u b l i c v o i d Se t In f o(i n t Le n,i n t Wi d,i n t He i,i n t Pr i)/l e n g t h =Le n;/w i d t h =Wi d;/h e i g h t =He i;/p r i c e =Pr i;/新增的函数用以设置价格 /p u b l i c v o i d Se t Pr i(i n t
17、Pr i)/p r i c e =Pr i;/重定义Sh o w In f o 函数 /p u b l i c n e w v o i d Sh o w In f o()/必须加上关键字n e w,否则会引发一个生成错误 /Co n s o l e.Wr i t e Li n e(Le n g t h=0 t Wi d t h=1 t He i g h t=2 t Pr i c e=3,/l e n g t h,w i d t h,h e i g h t,p r i c e);/#e n d r e g i o n c l a s s Pr o g r a m#r e g i o n 19:递
18、归解决汉诺塔问题p a g e 5 /p u b l i c s t a t i c v o i d m o v e(i n t n,c h a r f r o m,c h a r t o,c h a r a u x)/i f (n =1)/仅有一个盘时,直接从f r o m 柱移到t o 柱 /Co n s o l e.Wr i t e Li n e(将#1 盘从 0 移到 1,f r o m,t o);/e l s e /将n -1个盘从f r o m 柱移到a u x 柱,以t o 柱为辅助柱 /m o v e(n -1,f r o m,a u x,t o);/将最下的圆盘从f r o
19、m 柱移到t o 柱 /Co n s o l e.Wr i t e Li n e(将#0 盘从 1 移到 2,n,f r o m,t o);/将n -1个盘从a u x 柱移到t o 柱,以f r o m 柱为辅助柱 /m o v e(n -1,a u x,t o,f r o m);/#e n d r e g i o n#r e g i o n 18:判断一个数是否回文数,并做简单演示 /判断一个数是否是回文数 /p u b l i c s t a t i c b o o l i s Pa l i n(i n t Va l)/s t r i n g s;/s =Va l.To St r i n
20、 g();/c h a r x,y;/b o o l f l a g =t r u e;/f o r (i n t i =0;i s.Le n g t h /2;i+)/x =s i;/y =s s.Le n g t h -1-i;/i f (x !=y)/若不等,则该数不是回文数 /f l a g =f a l s e;/r e t u r n f l a g;/打印数字及其回文数判断结果 /p u b l i c s t a t i c v o i d Sh o w(i n t Va l)/i f (i s Pa l i n(Va l)/Co n s o l e.Wr i t e Li n
21、 e(0 t 是回文数!,Va l);/e l s e /Co n s o l e.Wr i t e Li n e(0 t 不是回文数!,Va l);/#e n d r e g i o n#r e g i o n 17:实现单链表(简单使用)/用变量来实现表头 /p r i v a t e No d e He a d =n u l l;/p r i v a t e No d e Ta i l =n u l l;/p r i v a t e No d e Po i n t e r =n u l l;/p r i v a t e i n t Le n g t h =0;p a g e 6 /清空整
22、个链表 /p u b l i c v o i d d e l e t e Al l()/He a d =n u l l;/Ta i l =n u l l;/Po i n t e r =n u l l;/Le n g t h =0;/链表复位,使第一个结点 成为当前结点 /p u b l i c v o i d r e s e t()/Po i n t e r =n u l l;/判断链表是否为空 /p u b l i c b o o l i s Em p t y()/r e t u r n (Le n g t h =0);/判断当前结点是否 为最后一个结点 /p u b l i c b o o
23、 l i s En d()/i f (Le n g t h =0)/t h r o w n e w Sy s t e m.Ex c e p t i o n();/e l s e i f (Le n g t h =1)/r e t u r n t r u e;/e l s e /r e t u r n (c u r s o r()=Ta i l);/返回当前结点的下一个结点的值,并使其成为当前结点 /p u b l i c Ob j e c t n e x t No d e()/i f (Le n g t h =1)/t h r o w n e w Sy s t e m.Ex c e p t i
24、 o n();/e l s e i f (Le n g t h =0)/t h r o w n e w Sy s t e m.Ex c e p t i o n();/e l s e /No d e t e m p =c u r s o r();/Po i n t e r =t e m p;/i f (t e m p !=Ta i l)/r e t u r n (t e m p.n e x t.d a t a);/e l s e /t h r o w n e w Sy s t e m.Ex c e p t i o n();/返回当前结点的值 /p u b l i c Ob j e c t c u
25、 r r e n t No d e()/No d e t e m p =c u r s o r();/r e t u r n t e m p.d a t a;/在当前结点前插入一个结点,并使其成为当前结点p a g e 7 /p u b l i c v o i d i n s e r t(Ob j e c t d)/No d e e =n e w No d e(d);/i f (Le n g t h =0)/Ta i l =e;/He a d =e;/e l s e /No d e t e m p =c u r s o r();/e.n e x t =t e m p;/i f (Po i n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c# 基础 学习 21 控制台 程序 测试 通过
限制150内