博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的马的遍历代码[Teaks & xgluxv]
阅读量:5836 次
发布时间:2019-06-18

本文共 1629 字,大约阅读时间需要 5 分钟。

今天在园子首页上看到一篇  的文章 用来比较了一下c++和c#的代码运行速度的问题。本来这两种语言没有什么可比性,但后边看到文章里提到的出结果的时间 都超出了我的想像。因此用vc++2005和vc#2005分别写了一下相同的算法,各位网友可以把代码下载下去 自行运行比较一下。
我这里把算法代码列出一下 以c#版本为例:
 1
None.gif
    
struct
 CSPoint
 2
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
{
 3InBlock.gif        public int x;
 4InBlock.gif        public int y;
 5ExpandedBlockEnd.gif    }
 6
None.gif
 7
None.gif    
class
 othercsHorse
 8
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif
{
 9ExpandedSubBlockStart.gifContractedSubBlock.gif        int[] DeltaX =dot.gif-2-11221-1-2 };
10ExpandedSubBlockStart.gifContractedSubBlock.gif        int[] DeltaY =dot.gif1221-1-2-2-1 };
11InBlock.gif        int[,] Game = new int[1212];
12InBlock.gif        CSPoint[] csPoint = new CSPoint[64];
13InBlock.gif        int step;
14InBlock.gif        int ResultCount;
15InBlock.gif
16InBlock.gif        public othercsHorse()
17ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
18InBlock.gif            for (int i = 0; i < 12; i++)
19ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
20InBlock.gif                Game[i, 0= -1;
21InBlock.gif                Game[i, 11= -1;
22InBlock.gif                Game[0, i] = -1;
23InBlock.gif                Game[11, i] = -1;
24InBlock.gif                Game[i, 1= -1;
25InBlock.gif                Game[i, 10= -1;
26InBlock.gif                Game[1, i] = -1;
27InBlock.gif                Game[10, i] = -1;
28ExpandedSubBlockEnd.gif            }
29InBlock.gif            step=0;
30InBlock.gif            csPoint[step].x=2;
31InBlock.gif            csPoint[step].y=2;
32InBlock.gif            Game[csPoint[step].x, csPoint[step].y] = 1;
33ExpandedSubBlockEnd.gif        }
34InBlock.gif
35InBlock.gif        public void OutputResult()
36ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
37InBlock.gif            ResultCount++;
38InBlock.gif            Console.WriteLine("Result:{0}", ResultCount);
39InBlock.gif            for (int i = 2; i < 10; i++)
40ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
41InBlock.gif                for (int j = 2; j < 10; j++)
42ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
43InBlock.gif                    Console.Write("{0}{1} ", (Game[i, j] < 10)?" ":"", Game[i, j].ToString());
44ExpandedSubBlockEnd.gif                }
45InBlock.gif
46InBlock.gif                Console.WriteLine();
47ExpandedSubBlockEnd.gif            }
48InBlock.gif            Console.WriteLine();
49ExpandedSubBlockEnd.gif        }
50InBlock.gif
51InBlock.gif        public void Start()
52ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
53InBlock.gif            int NextX, NextY;
54InBlock.gif            for (int i = 0; i < 8; i++)
55ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
56InBlock.gif                NextX = csPoint[step].x + DeltaX[i];
57InBlock.gif                NextY = csPoint[step].y + DeltaY[i];
58InBlock.gif                if (Game[NextX, NextY] == 0)
59ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
60InBlock.gif                    Game[NextX, NextY] = ++step + 1;
61InBlock.gif                    csPoint[step].x = NextX;
62InBlock.gif                    csPoint[step].y = NextY;
63InBlock.gif                    if (step == 63)
64ExpandedSubBlockStart.gifContractedSubBlock.gif                    dot.gif{
65InBlock.gif                        OutputResult();
66ExpandedSubBlockEnd.gif                    }
67InBlock.gif
68InBlock.gif                    Start();
69ExpandedSubBlockEnd.gif                }
70ExpandedSubBlockEnd.gif            }
71InBlock.gif
72InBlock.gif            Game[csPoint[step].x,csPoint[step].y] = 0;
73InBlock.gif            --step;
74ExpandedSubBlockEnd.gif        }
75InBlock.gif
76ExpandedBlockEnd.gif    }
77
None.gif

转载于:https://www.cnblogs.com/dotLive/archive/2006/03/09/346069.html

你可能感兴趣的文章
HTML 5实现的手机摇一摇
查看>>
此博客不再发表对自己私事的看法
查看>>
导致Asp.Net站点重启的10个原因
查看>>
【PMP】Head First PMP 学习笔记 第一章 引言
查看>>
抓住云机遇编排工作 搞定复杂IT工作流
查看>>
MYSQL的longtext字段能放多少数据?
查看>>
MTK 平台上如何给 camera 添加一种 preview size
查看>>
云计算最大难处
查看>>
关于数据分析思路的4点心得
查看>>
Memcached安装与配置
查看>>
美团数据仓库的演进
查看>>
SAP被评为“大数据”预测分析领军企业
查看>>
联想企业网盘张跃华:让文件创造业务价值
查看>>
记录一次蚂蚁金服前端电话面试
查看>>
直播源码开发视频直播平台,不得不了解的流程
查看>>
Ubuntu上的pycrypto给出了编译器错误
查看>>
聊聊flink的RestClientConfiguration
查看>>
在CentOS上搭建git仓库服务器以及mac端进行克隆和提交到远程git仓库
查看>>
測試文章
查看>>
Flex很难?一文就足够了
查看>>