小编mik*_*eyP的帖子

在Haskell中编辑/更新图形

我正在使用Data.Graph Graph来模拟Haskell中的模拟.模拟仅限于我的图形模型的2D网格.下面网格上每个点的节点将包含一个可能的分子类型,因此可能存在分子或只有Nothing.

1  - 2  - 3  
|    |    |  
4  - 5  - 6  
|    |    |  
7  - 8 -  9  
Run Code Online (Sandbox Code Playgroud)

我已经建立了这种表示,但是当谈到更新分子的位置时,我觉得我已经走了很长一段路.到目前为止我所做的是将所有节点剥离到节点列表中.我写了一个函数来交换这个节点列表中的两个项目.但是现在当我把所有东西拉回到一起时,我遇到了问题,因为要生成一个新图形,我需要一个顶点列表,我可以从顶点Graph函数中轻松获得这些顶点.但是我还需要用边缘接触的顶点列表来压缩它.不幸的是,Data.Graph的边缘Graph函数返回一个Edge类型的元组列表,尽管我可以编写一个函数来派生有一个顶点边缘的列表顶点,但这对于生成一个图形并不是很有帮助.这样做似乎足以让我想知道我是否错过了重点是那里有一个Graph函数,它只是采用图形并返回带有更新节点的图形?

simulation haskell graph

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

停止特定的java线程

我有一个按钮"addCashier",它正在创建一个名为"Cashier"的线程,现在这个线程只是每4秒生成一次订单,在线程的run()方法中有一个while(true)循环.一切都很好,但现在我想添加一个按钮来模拟收银员注销.我在我的while循环onDuty和一个公共函数logOff()中添加了一个布尔变量,它将onTuty bool设置为false以使我退出运行的while循环.我现在的问题是来自我的gui类如何在特定线程上调用函数?每个收银员线程都是在运行时生成的,所以我不知道他们的名字.

我希望我有道理.提前致谢.

java multithreading

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

在C++中是否存在错误,包括这种方式?

在我的程序中,我有Vertex的Edges和Faces的类,我希望它可以用来模拟形状.在此之前,我的Edge类包含了我的"vertex.h"文件,而我的Face类包含了我的Edge.h文件.在Face类中,我声明了一些边类型变量,在Edge类中,我声明了一些vertex类型的变量.一切正常.我的问题是在我的实现过程中,我意识到我希望边缘能够意识到它们连接在一起的面孔,并且我希望将它存储在边缘内.我想声明一个Face类型的指针,并在类的构造函数中使用:

Face * joiningFaces = new joiningFaces[2];
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我得到的语法错误表明Face不是一个类型,即使我在Edge.h中包含了Face.h.

是否存在某种层次结构系统阻止我将Face in Face和Edge in Edge包括在内?或者我做了一些愚蠢的事情?

===代码====

=== edge.h ===

#ifndef EDGE_H_
#define EDGE_H_
#include "Vertex.h"
#include "Face.h"



class Edge {

private:
    Vertex a;
    Vertex b;
    Face * joinsFace;

public:
    Edge();
    Edge(Vertex newa, Vertex newb);
...ect
};
Run Code Online (Sandbox Code Playgroud)

=== Face.h ===

#ifndef FACE_H_
#define FACE_H_
#include "Edge.h"
class Face {


private:
    Edge a;
    Edge b;
    Edge c;

public:
    Face();
    Face(Edge newA, Edge newB, Edge newC);
    virtual ~Face();
    Edge getEdgeA();
    Edge getEdgeB();
    Edge getEdgeC();
}; …
Run Code Online (Sandbox Code Playgroud)

c++ header file include

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

标签 统计

c++ ×1

file ×1

graph ×1

haskell ×1

header ×1

include ×1

java ×1

multithreading ×1

simulation ×1