messagequeue 用的是什么数据结构

如题所述

第1个回答  2017-09-29
visit 般指树型链表结构某节点内容进行访问函数取节点内容做某件事通算写具体函数内容

树型链表结构自顶始按照某种顺序顺藤摸瓜至某节点程称遍历:

void traverse(link h, void visit(link))
{
if (h == 0) return;
visit(h);
traverse(h->l, visit);
traverse(h->r, visit);
}

前序遍历(非递归):
非递归基于栈函数与面递归函数功能相等
void traverse(link h, void visit(link))
{
Stack s;
s.push(h);
while(!s.empty())
{
visit(h = s.pop());
if (h->l != 0) s.push(h->l);
if (h->r != 0) s.push(h->r);
}
}

层顺序遍历:
前序遍历基本数据结构栈转变队列转变使遍历转层顺序
void traverse(link h, void visit(link))
{
Queue q;
q.put(h);
while (!q.empty())
{
visit(h = q.get());
if (h->l != 0) q.put(h->l);
if (h->r != 0) q.put(h->r);
}
}
-本回答被提问者采纳