小编sir*_*exy的帖子

有没有办法将方法标记为待在Pharo中实施?

只是想知道是否可以将方法标记为待在pharo中实现,就像您可以在Java中使用“ todo”一样

如果没有这样的东西,我真的很难跟踪到pharo的完成情况

smalltalk pharo

6
推荐指数
2
解决办法
126
查看次数

存在一种在不使用全局变量的情况下释放atexit或类似内存的方法?

我正在用C开发一个项目,我需要释放已分配的内存,并在退出之前关闭所有打开的文件.

我决定实现一个clean能完成所有这些工作的函数并调用它,atexit因为有很多可能的退出场景.

问题是atexit不允许我用参数设置函数,所以我不能发送到clean需要在进程结束时释放的指针.

所以我需要将每个可能需要释放的指针声明为全局变量,并且每个可能在程序中保持打开的文件?(我已经做过但看起来不太好)或者确实存在类似的功能atexit,允许发送参数?或者更多可能还有另一种我失踪的方式?

c free atexit fclose

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

出队时将节点标记为在BFS上已访问

关于图上的BFS遍历只是一个简单而愚蠢的问题

我在许多站点上发现了BFS的伪代码几乎是这样的:

BFS (Graph, root):

create empty set S
create empty queue Q      
add root to S //mark as visited here
Q.enqueue(root)                      
while Q is not empty:
    current = Q.dequeue()
    if current is the goal:
        return current
    for each node n that is adjacent to current:
        if n is not in S:
            add n to S //mark as visited here
            Q.enqueue(n)
Run Code Online (Sandbox Code Playgroud)

我只是发现在给定节点出队列后将其标记为已访问,而不是在对一个给定节点进行标记时,将其标记为访问的节点稍微简单些,因为在后一种方法中,我们将需要编写一个额外的步骤。我知道这不是一件大事,但我想将一个节点标记为在一个地方而不是两个地方访问更有意义。更简洁,更容易记住甚至学习。

修改后的版本将如下所示:

BFS (Graph, root):

create empty set S
create empty queue Q      
Q.enqueue(root)                      
while Q is not empty: …
Run Code Online (Sandbox Code Playgroud)

graph-theory pseudocode breadth-first-search

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

如何在C中反转多维数组?

我需要反转用指针表示法制作的2d数组.

要清楚,如果数组是

A B C D E
F G H I J
K L M N O
Run Code Online (Sandbox Code Playgroud)

我需要:

E D C B A
J I H G F
O N M L K
Run Code Online (Sandbox Code Playgroud)

我的代码到目前为止:

#include <stdio.h>
#include <stdlib.h>
#define HEIGHT 3
#define WIDHT 7

void print (char *imprimir)
{
    int i,j;
    for (i=0;i<HEIGHT;i++)
    {
        for (j=0;j<WIDHT;j++)
        {
            printf ("%2c",*(imprimir+(i*WIDHT)+j));
        }
        printf ("\n");
    }
}

int main()
{
    //FILLING THE ARRAY
    char *array=malloc(WIDHT*HEIGHT);
    int i,j;
    for (i=0;i<HEIGHT;i++)
    {
        for (j=0;j<WIDHT;j++)
        { …
Run Code Online (Sandbox Code Playgroud)

c arrays multidimensional-array

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