利用哈夫曼算法对任意输入的字符串中各个字符进行编码,如输入aaarradgrt, 则输出:a,r,d,g,t的哈夫曼码值。

把题目看了一遍, 第一题多线程 ,我没有接触过, 然后看第二题  第二题难度不大,然后直接看第三题 , 咦!第三题和第二题有很大的关联!!

于是我就直接奔向第三题:

利用哈夫曼算法对任意输入的字符串中各个字符进行编码,如输入aaarradgrt, 则输出:a,r,d,g,t的哈夫曼码值。

正好学过哈夫曼树的算法; 一阵编译调试  捣鼓出来了,而且输入 aaarradgrt, 正好也等于 a,r,d,g,t  感觉似对非对

 

#include<iostream>
#include
<string>
using namespace std;

void main()
{
    
string str;
    
string temp;
    
string number;
    
int i=0;
    
bool count=false;
    
int jj=0;
    cout
<<"Please Enter value: ";cin>>str;

    cout
<<"The value lenth :"<<str.length()<<endl;


    
for(i=0; i<str.length(); i++)
    
{
        count
=false;
        jj
=0;
        
for(int j=i+1; j<str.length(); j++)
        
{
        
            
if(str[i]==str[j])
            
{
                str[j]
='*';
                jj
++;
                count
=true;
    
            }
    
        }


//        if(count==true)
//            str[i]='*';
    }


    
for(i =0 ; i<str.length(); i++)
    
{
        count
=false;
        
if(str[i]!='*')
        
{
                cout
<<"The Fist value:"<<str[i]<<endl;
        }


    }

        
}


 

为什么说他似对非对呢?

因为我把中间 哈夫曼编码这段注释结果也正好成立, 然而我也不知道这一题做的对不对。 还望众通道们帮我验证下