【问题标题】:How to print on file in reverse order with process chain?如何使用流程链以相反的顺序打印文件?
【发布时间】:2020-11-28 20:01:34
【问题描述】:

我有这个练习:每个过程都必须在文件上打印一个句子,但顺序相反。 因此,如果进程链是 P1->P2->....->Pn,则 Pn 打印在文件上,然后 Pn-1,依此类推... 我被这个困住了...... 有什么想法吗?

【问题讨论】:

  • 循环分叉。等待孩子完成,然后打印。
  • 堆栈也可以。每个进程将其输出推入堆栈,然后打印堆栈。堆栈的一种用途是颠倒顺序。

标签: c algorithm process


【解决方案1】:

从技术上讲,您在这里寻找深度优先搜索 (DFS) 方法,因为您需要首先处理子进程而不是父进程。对于 DFS,实现它的最简单方法是使用递归堆栈。一个简化的算法是

def process_chain(node):
    if node has child:
        process_chain(child)
    print(node.value)   #or whatever processing you need to do on the node
    return

process_chain(P1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多