【问题标题】:Can we use "do" for a "for" loop? [closed]我们可以将“do”用于“for”循环吗? [关闭]
【发布时间】:2021-05-15 22:09:27
【问题描述】:

如上所示,算法在 "For" 之后使用 "do"。我知道这只是一个伪算法,但这在理论上可以吗?

我不愿意分享整个算法,因为这不是我的工作

【问题讨论】:

  • 首先,伪算法应该与语言无关,遵循现有论文遵循的任何约定。其次,这个问题更适合academia.stackexchange.com
  • Python 和 C++ 除了都是编程语言外,几乎没有共同之处。 what理论上可以吗?在这样的代码中,“do”只是一个词,意思是“做下面列出的事情”。一些编程语言有 do 关键字,比如 Bash 或 Ruby,而很多没有。
  • 你需要分享全图,sn-p 不会为你提供好的解决方案
  • 奇怪的问题,伪代码没有理论,这就是它成为伪代码的原因。

标签: python c++ algorithm loops for-loop


【解决方案1】:

在这样的代码中,“do”只是一个词,意思是“做下面列出的事情”。一些编程语言有 do 关键字,比如 Bash 或 Ruby,而很多没有。

在 Python 中:

for e in edges:
  # ...

在 C++ 中:

for (auto&& e : edges) {
  // ...
}

他们都不使用do

相比之下,Ruby 使用 do 来定义块,类似于 JavaScript 中的 function(e) { ... }

edges.each do |e|
  # ...
end

还有 Bash,它是循环的必要元素:

for edge in $(edges); do
  # ...
done

您看到的符号只是计算机科学中经常使用的一种约定,但它基本上只是一种英文解释。

【讨论】:

【解决方案2】:

我认为在这个数学算法中,“do”的含义与编程语言的语法不同。 在 C++ 中,这个“do”不是 do { /* ... */ } while () 构造,而只是 for 后面的括号:for (/* edges e_wi */) { /* algorithm */ }

也就是说,数学中的“做”只是一个句法结构,意思是“这是身体”。 所以,你不能在“for”循环之后使用“do”。

【讨论】:

    猜你喜欢
    • 2019-06-17
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    相关资源
    最近更新 更多