更新时间:2018-11-22 15:55作者:王新老师
if(NULL == t)
{
t = new STreeNode;
t->left_child = t->right_child = NULL;
t->key = key;
return;
}
if(key < t->key)
InsertBST(t->left_child , key);
else
InsertBST(t->right_child , key );
}
//先序遍历树并插入建立排序树
void PreOrder(STreeNode* t , STreeNode* tBST)
{
if(NULL != t)
{
InsertBST(tBST , t->key);
PreOrder(t->left_child , tBST);
PreOrder(t->right_child , tBST);
}
}
//目标函数
STreeNode* bt2bst(STreeNode* root_node)
{
STreeNode* bstTreeRoot = NULL;
PreOrder(root_node , bstTreeRoot);
return bstTreeRoot;
}
二、扩展题
(1)列出几种你了解的IPC机制。
答:共享内存:是一片指定的物理内存区域,这个区域通常是在存放正常程序数据区域的外面, 它允许两个或多个进程共享一给定的存储区,是针对其他通信机制运行效率较低而设计的。使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。