本文整理汇总了C++中Cst::child方法的典型用法代码示例。如果您正苦于以下问题:C++ Cst::child方法的具体用法?C++ Cst::child怎么用?C++ Cst::child使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cst
的用法示例。
在下文中一共展示了Cst::child方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test_cst_child_operation
void test_cst_child_operation(const Cst& cst, typename Cst::size_type times=5000, uint64_t x=17)
{
typedef typename Cst::size_type size_type;
typedef typename Cst::node_type node_type;
std::vector<node_type> nodes;
generate_nodes_from_random_leaves(cst, times, nodes, x);
// for(size_type i=0; i<20; ++i){
// std::cout<< cst.lb(nodes[i])<<" "<<cst.rb(nodes[i])<<std::endl;
// }
// choose some chars for the text
unsigned char* letters = new unsigned char[nodes.size()+1];
for (size_type i=0; i<nodes.size(); ++i) {
letters[i] = cst.csa.bwt[i];
}
node_type c; // for child node
size_type char_pos=0;
size_type cnt=0;
write_R_output("cst","child","begin",nodes.size(),cnt);
for (size_type i=0; i<nodes.size(); ++i) {
// if(i<20){
// std::cout<<"i="<<i<<" vl="<<cst.lb(nodes[i])<<" rb="<<cst.rb(nodes[i])<<std::endl;
// std::cout<<cst.csa[cst.lb(nodes[i])]<<" "<<cst.depth(nodes[i])<<std::endl;
// }
c = cst.child(nodes[i], letters[i], char_pos);
if (c==cst.root())
++cnt;
}
write_R_output("cst","child","end",nodes.size(),cnt);
delete [] letters;
}