小编doc*_*lic的帖子

图形的中心点

我在思考如何定位图表的中心点时遇到了一些困难;也就是说,图上的一个节点可以最小化到所有其他节点的最大距离。

例如:

假设我有一个包含 3 个节点的图,排列成一条线(如1-2-3)。

显然,很容易看出该图的中心点是2。我该如何着手实施类似的事情呢?

我知道的唯一算法是 BFS/DFS/Prim's/ 和 Kruskal's。Prim 和 Kruskal 的算法并不真正适用于这种情况。我想我这里需要使用BFS吗?唯一的问题是,BFS 是否会根据您从哪个节点开始返回不同的顺序?

algorithm graph

5
推荐指数
1
解决办法
2171
查看次数

多种形式的CSRF令牌

我在一个页面上有两个表单,它们的声明如下:

form_for @student, {remote:true, format: 'json'} do |f|

form_for @teacher, {remote:true, format: 'json'} do |f|

但是,当我单击表单的提交按钮时teacher,它会出错,显示该请求的“CRSF 令牌无效”。对表格的请求student工作正常。

我已经<%= csrf_meta_tags %>进入主application.html.erb文件,并且teacher表单在提交中确实有一个 CSRF 令牌。我不是在做 API,我只是希望通过 AJAX 处理表单(我做了一些客户端错误处理和确认)。

ajax ruby-on-rails csrf ruby-on-rails-4

5
推荐指数
1
解决办法
1101
查看次数

php echo 中多余的空格

我的服务器的 PHP echo 函数有问题。

由于某种原因,每次我调用“echo”时,无论什么 echo 都会在其前面留下六七个额外的空格,从而导致如下所示:

echo "hello world"           //ends up like:
             hello world    //instead of:
     hello world
Run Code Online (Sandbox Code Playgroud)

对发生的事情有什么想法吗?

它发生在我的整个服务器上(奇怪的是,昨天它工作正常。我没有触及 php 设置或任何东西)

这只是显示此错误的脚本示例:

将 URI 发布到数据库

require_once("../../m/includes/globals.php");
$user = DB_Login($_POST["username"], $_POST["password"]);
$uri = mysql_escape_string($_POST["uri"]);
$userID = $user['userID'];
$result = DB_ExecuteQuery("UPDATE driver SET windowsPhoneID = '$uri' WHERE userID = '$userID'" );
if ($result === FALSE) { 
echo "error occurred during updating"; 
} 
echo "success!";
Run Code Online (Sandbox Code Playgroud)

php whitespace

3
推荐指数
1
解决办法
2693
查看次数

永远不会调用System.Threading.Timer回调

我的System.Threading.Timer(有一个回调)永远不会可靠地触发.这是我的编程任务的一部分,我输入计时器应该从文本框运行的时间量.

计时器声明如下:

System.Threading.Timer timer = new System.Threading.Timer(WorkerObject.callback, null, delay, Timeout.Infinite);
Run Code Online (Sandbox Code Playgroud)

而延迟只是int描述第一次触发回调的延迟(它只能触发一次).

回调方法是这样的:

 public static void callback(Object stateinfo)
 {
     stop = true;
 }
Run Code Online (Sandbox Code Playgroud)

所有这一切都设置了一个标志为true,它停止循环(由ThreadPool上的线程运行,实际上,停止线程).

循环看起来像这样:

while (!stop)
{
    currentTextbox.Invoke(new Action(delegate()
    {
        currentTextbox.AppendText((counter++) + Environment.NewLine);
        currentTextbox.Update();
     }));
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,stop对于超过5000毫秒的任何延迟,变量总是为假.有没有办法"强迫"回调始终开火?

c# multithreading timer

3
推荐指数
2
解决办法
3437
查看次数

C++包含文件混乱

我试图在我的c ++程序中包含文件,但我一直遇到错误:

ShapeVisitor.h:9:28: error: ‘Circle’ has not been declared

我认为问题在于类的结构方式,它导致循环依赖.我该如何解决这个问题?

类标题如下......

 //Circle.h
 #ifndef CIRCLE_H
 #define CIRCLE_H
 // headers, ...
 #include "Shape.h"
class Circle: public Shape { 
//class declaration 
}
#endif

//Shape.h
#ifndef SHAPE_H
#define SHAPE_H
// headers, ...
#include <iostream>

class Shape {  
//a certain method in the class declaration looks like this
virtual void accept(ShapeVisitor& v) = 0; 
//rest of class
}
#endif

//ShapeVisitor.h
#ifndef SHAPEVISITOR_H
#define SHAPEVISITOR_H
#include "Circle.h"
class ShapeVisitor {
//a method in the class looks …
Run Code Online (Sandbox Code Playgroud)

c++ header include forward-declaration

2
推荐指数
1
解决办法
560
查看次数

常用对话框Win32

我有一个常见的颜色对话框,我想在菜单按下时激活.不幸的是,每次按下该项目时,窗口都会失去焦点,就好像会出现一个对话框,但对话框永远不会显示出来.

我现在使用的代码如下:

case ID_TOOL_CHOOSECOLOR:
//show colour dialog
ChooseColor(&cc);
Run Code Online (Sandbox Code Playgroud)

我已经初始化了我的CHOOSECOLOR结构,如下所示:

 cc.lStructSize    = sizeof (CHOOSECOLOR) ;
 cc.hwndOwner      = NULL ;
 cc.hInstance      = NULL ;
 cc.rgbResult      = RGB (0x80, 0x80, 0x80) ;
 cc.lpCustColors   = crCustColor ;
 cc.Flags          = CC_RGBINIT | CC_FULLOPEN ;
 cc.lCustData      = 0 ;
 cc.lpfnHook       = NULL ;
 cc.lpTemplateName = NULL ;
Run Code Online (Sandbox Code Playgroud)

奇怪的是,只有在按下"ALT"键(并且只有alt键)后,对话框才会出现.有小费吗?

顺便说一下,我正试图在MDI文档中这样做.

谢谢

c++ winapi modal-dialog

1
推荐指数
1
解决办法
986
查看次数

为什么跟随mySQL查询失败?

我不知道为什么以下mySQL查询不断给我以下错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL     server version for the right syntax to use near 'http://some.url' at line 2
Run Code Online (Sandbox Code Playgroud)

SQL查询本身是这样的:

DB_ExecuteQuery("UPDATE driver 
                 SET windowsPhoneID = $uri
                 WHERE userID = $userID");
Run Code Online (Sandbox Code Playgroud)

$ userID只是表的主键,只是一个VARCHAR.我不知道为什么$ uri部分无效.WindowsPhoneID应该存储为TEXT,因此没有任何不匹配的类型或类似的东西.

有什么指针吗?

php mysql

0
推荐指数
1
解决办法
117
查看次数