本文整理汇总了C++中MinHeap::Length方法的典型用法代码示例。如果您正苦于以下问题:C++ MinHeap::Length方法的具体用法?C++ MinHeap::Length怎么用?C++ MinHeap::Length使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MinHeap
的用法示例。
在下文中一共展示了MinHeap::Length方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
HuffmanTree::HuffmanTree()
{
MinHeap<HufTreeNodePtr> M;
int calcu[26]={0};//0->a
HufTreeNode *p;
HufTreeNodePtr ptr;
char c[100];
cout<<"请输入以#结尾的一串小写英文序列"<<endl;
cin>>c;
int i=0;
while (c[i]!='#')
{
calcu[c[i]-'a']++;
i++;
}
for (int i=0;i<26;i++)
{
if (calcu[i]==0) continue;
cout<<calcu[i]<<' '<<(char)('a'+i)<<endl;/////////////////////////////////
p=new HufTreeNode(calcu[i],'a'+i);
ptr.p=p;
M.Put(ptr);
}
HufTreeNodePtr ptra,ptrb;
while (M.Length()>1)
{
ptrb=M.Remove();
ptra=M.Remove();
ptr.p=new HufTreeNode(ptra.p->weight+ptrb.p->weight);
ptr.p->leftChild=ptra.p;
ptr.p->rightChild=ptrb.p;
M.Put(ptr);
}
root=M.Front().p;
}