当前位置:  技术问答>java相关

一个小小的算法。请教了

    来源: 互联网  发布时间:2015-05-02

    本文导语:  那为大侠知道有关“洪水算法”的。请讲解他的算法结构和技巧。谢谢了! | 很抱歉,你的要求好象太大了,我可没那么大的本事:)说实话,没听说在游戏 扫描中有特别的洪水算法,相关...

那为大侠知道有关“洪水算法”的。请讲解他的算法结构和技巧。谢谢了!

|
很抱歉,你的要求好象太大了,我可没那么大的本事:)说实话,没听说在游戏
扫描中有特别的洪水算法,相关的好象只有这个,如果需要,还有ip欺骗中的
flood算法,不会是那个吧?

FloodFill 函数从给定的起始位置开始,以给定的颜色向四面八方填充某个区域(像水一样蔓延,因此叫 Flood Filling),一直到遇到与给定起始位置的象素值不同的点为止。因此,在这一过程中,我们需要两个回调函数,一个回调函数用来判断蔓延过程中遇到的点的象素值是否和起始点相同,另外一个回调函数用来生成填充该区域的水平扫描线。在进行绘图时,该函数比较的是象素值,但实际上,该函数也可以比较任何其他值,从而完成特有的蔓延动作。

|
这个是c语言的类库函数,仅做参考,不能完成特有的比较行为,想实现特有的比较行为,肯定要自己编:

函数名: floodfill 
功 能: 填充一个有界区域 
用 法: void far floodfill(int x, int y, int border); 
程序例: 

#include  
#include  
#include  
#include  

int main(void) 

/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int maxx, maxy; 

/* initialize graphics, local variables */ 
initgraph(&gdriver, &gmode, ""); 

/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) 
/* an error occurred */ 

printf("Graphics error: %sn", 
grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); 
/* terminate with an error code */ 


maxx = getmaxx(); 
maxy = getmaxy(); 

/* select drawing color */ 
setcolor(getmaxcolor()); 

/* select fill color */ 
setfillstyle(SOLID_FILL, getmaxcolor()); 

/* draw a border around the screen */ 
rectangle(0, 0, maxx, maxy); 

/* draw some circles */ 
circle(maxx / 3, maxy /2, 50); 
circle(maxx / 2, 20, 100); 
circle(maxx-20, maxy-50, 75); 
circle(20, maxy-20, 25); 

/* wait for a key */ 
getch(); 

/* fill in bounded region */ 
floodfill(2, 2, getmaxcolor()); 

/* clean up */ 
getch(); 
closegraph(); 
return 0; 



|
faint, 中文名真是怪异, 难道是 flood fill 算法?
图形颜色填充的一种算法.

|
我觉得也象,类似与图形学的种子扫描法,它的算法思想是通过种子点的最近的两边的边界来一步一步的划分区域,只到填满整个区域,不一定对,但是我想你可以做个参考。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • <<大话数据结构>>中冒泡排序算法改进
  • 那位高人有任务分配问题的禁忌搜索算法、模拟退火算法的算法实现程序啊
  • 二叉树常用算法(求总节点个数和叶子节点个数)
  • 求对称加密DES算法与非对称加密RSA算法!(可用)
  • boost unordered_map和std::list相结合的实现LRU算法
  • 深入串的模式匹配算法(普通算法和KMP算法)的详解
  • 中文网页快速去重算法研究
  • java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • 谁能给出一个最快最高效的求素数的算法?(高分求算法)
  • 广告系统中weak-and算法原理及编码验证
  • 谁有这样的算法:给定两个区域,用直线或折线来连接,以及移动其中线段的算法。
  • c++实现MD5算法代码示例
  • 算法之排序算法的算法思想和使用场景总结
  • c语言实现MD5算法完整代码示例
  • 【算法】扑克发牌算法实现
  • MD5算法的C语言实现
  • php加密算法之实现可逆加密算法和解密分享
  • C++实现查找中位数的O(N)算法和Kmin算法
  • PHP中对各种加密算法、Hash算法的速度测试对比代码
  • 关于加密算法的效率问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3