博客
关于我
强烈建议你试试无所不能的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

你可能感兴趣的文章
Android API level 与version对应关系
查看>>
Team Name
查看>>
String类
查看>>
西门子_TDC_数据耦合小经验
查看>>
接口测试与postman
查看>>
LINQ To XML的一些方法
查看>>
[LeetCode] Copy List with Random Pointer
查看>>
openstack部署之nova
查看>>
JS组件系列——表格组件神器:bootstrap table
查看>>
存储过程Oracle(一)
查看>>
log4j日志归档
查看>>
Java笔记01——IO流
查看>>
mysql遇见error,1049
查看>>
NYOJ311 完全背包
查看>>
codevs——2822 爱在心中
查看>>
Python基础班---第一部分(基础)---Python基础知识---认识Python
查看>>
JAVA MAC 配置
查看>>
1134 最长上升子序列 (序列型 DP)
查看>>
js冒泡排序
查看>>
第一次作业 4班卢炳武
查看>>