⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 huffman编码与解码的实现程序
💻 CPP
字号:
//Main.cpp
#include"Def.h"
#include"Function.cpp"
 
void main()
{
  HuffmanTree HT;
  HuffmanCode HC;
  int *w,n,i;
  char *a,*b;
   
  cout<<"哈夫曼编码,译码测试程序:";
  cout<<"\n\n编码测试:\n"
       <<"请输入字符集大小n(n>1):";
  cin>>n;
  while(n<=1)
  {
    cout<<"非法输入,请重新输入(n>1):";
    cin>>n;
  }
  a=(char *)malloc(n*sizeof(char));
  cout<<"请输入"<<n<<"个字符:";
  for(i=0;i<=n-1;i++)
    cin>>a[i];
  w=(int *)malloc(n*sizeof(int));
  cout<<"请依次输入"<<n<<"个字符权值(整型):"<<endl;
  for(i=0;i<=n-1;i++)
  {
    cout<<a[i]<<":";
    cin>>w[i];
  }
  HuffmanCoding(HT,HC,w,n);
  cout<<"各字符对应的Huffman编码为:"<<endl;
  for(i=1;i<=n;i++)
    cout<<a[i-1]<<":"<<HC[i]<<endl;
    
  cout<<"\n\n译码测试:\n"
      <<"请输入Huffman编码序列(0,1):";
  b=(char *)malloc(80*sizeof(char));
  for(i=0;i<80;i++) b[i]=0;
  cin.ignore();
  cin.getline(b,80);
  cout<<"输入的Huffman编码序列解码后为:";
  HuffmanDeCoding(HT,a,b,w,n);
  cout<<endl<<endl; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -