当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 看iampolaris的迷宫问题讨论--(堆栈) 在上面挂了N天了,可惜只给出了算法思想,未能找出最短的路径,也没给出源程序。
 

 

    摘要: 业余程序员最喜欢做的一件事就是对不同的语言进行比较。java是否比c++好?c#是否会成为终极语言?凡此种种。从专业程序员的角度看来,这是最低级无趣的游戏。其一,在项目诸元确定之后,通常并没有选择语言的余地;其二,语言的生存本身就是一个达尔文主义的问题:设若两种语言有明确的可比较性,其中较劣的那一种必定早已被淘汰出局,又何来比较的必要?所以,有“c++之父”美称的bjarne stroustru......
    摘要:vba开发实用指南 唐大中 附录文章   vba(visual basic for application)是office自带的二次开发工具,可为日常办公带来极大的便利。本文讲述office各个成员vba开发的常用对象和其相关的属性、方法和事件(包括word、excel、powerpoint等),并给出相关的实例代码。   一、vba基础  1.什么是vba   在office对于一些烦琐、重复的......


也谈迷宫算法(最短路径 队列)+源程序

看iampolaris的迷宫问题讨论--(堆栈) 在上面挂了n天了,可惜只给出了算法思想,未能找出最短的路径,也没给出源程序.于是出于兴趣,写这篇文章,与大家探讨一下最短路径的算法.这可是我的第一篇文章,肤浅的很,希望大家指正!不确定对所有的迷宫否都正确,我测试的几个还是没问题的,如果发现什么问题告诉我sduboy@163.com

其实算法思想就是一句话:“用队列实现广度优先遍历”.第一次遍历到出口时就找到了最短路径,算法停止. mazepos pre 用于保存路径,只记上一步的那一个点.最后只需从出口顺着 pre走回去即可. 【程序编程相关:开始→运行→输入的命令集锦

  【推荐阅读:在CSDN-BLOG文本编辑器中编写HT

   //开始广度优先遍历      pos=getfrontelem(q);      x0=pos.x;  y0=pos.y; 【扩展信息:删除Windows服务

 核心部分如下:bool travelmaze(maze maze[][10],int x0,int y0,int x1,int y1) {   queue *q=initqueue();   mazepos pos;   int entrancex=x0, entrancey=y0;   int exitx=x1, exity=y1;      if(!q) exit(1);   if(maze[x0][y0].s==0)return false;   pos.x=x0;pos.y=y0;   maze[x0][y0].pre.x=x0;maze[x0][y0].pre.y=y0;   maze[x0][y0].visited=true;   enqueue(q,pos);   while(!queueempty(q) &&((x0!=x1)||(y0!=y1)))    {

 //将与之相邻的且可以通过的所有节点入队(最多4个哦)

//可以写的更简洁一些,不过这样更好理解.
...   下一页

 ·the c# programming language notes    »显示摘要«
    摘要:1,不彻底的abstract 即使是abstract class,也不能对实现的接口的某个成员视而不见,即下面这样是不允许的: interface in_one{ void a();} abstract class base_one : in_one{ } 这一点上还是java方便,不管c#的初衷是什么 2,out参数与指针的指针 out子类不能转化为out基类,如果允许转换的化,将无法保证类型安......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE