小编TTT*_*TTT的帖子

在C#中使用ConcurrentStack时出现奇怪的异常

我有这个C#代码,它抛出一个ArgumentOutOfRangeException,我想知道为什么?

    ConcurrentStack<int> intsStack = new ConcurrentStack<int>();
    int[] myInts = new int[0];
    intsStack.PushRange(myInts);
Run Code Online (Sandbox Code Playgroud)

错误的Message属性ArgumentOutOfRangeException:

startIndex参数必须大于或等于零.

参数名称:startIndex

数组是空的但不是null,我没想到任何异常,只是没有任何东西被添加到堆栈中.这是否是一个合理的例外?

c# concurrency

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

我的dijkstra算法在perl中具有相等权重的非定向图有什么问题.它不会停止迭代

我有蛋白质节点的加权图.我正在编写一个Perl程序,使用Dijkstra算法找到给定节点的最短路径.每种蛋白质(顶点)具有相同的重量.我的程序不会停止迭代,也不会给我任何输出.我不知道造成这个问题的原因.

我的想法是从用户那里获取蛋白质节点的名称,并通过使用给定的蛋白质作为根节点开始搜索最短路径.

%graph = (
  'A' => {'B' => 1, 'C' => 5},
  'B' => {'C' => 4, 'D' => 2},
  'C' => {'A' => 1, 'B' => 3},
  'D' => {'C' => 2, 'B' => 3}
);

sub dijkstra {
    print "Enter a node\n";
    my $root= <>;
    my $infinity = "inf";
    my %graph= %graph;
    my %dist;
    my %prev;
    ############################ the algorithm ####
    # first, set all distances to infinity
    foreach $n (keys %graph) { $dist{$n} = $infinity; $prev{$n}=$n; } …
Run Code Online (Sandbox Code Playgroud)

arrays perl hash graph dijkstra

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

标签 统计

arrays ×1

c# ×1

concurrency ×1

dijkstra ×1

graph ×1

hash ×1

perl ×1